gpt4 book ai didi

javascript - 从 Google 表单中删除重复项的功能

转载 作者:行者123 更新时间:2023-12-03 08:29:34 31 4
gpt4 key购买 nike

我试图为谷歌电子表格制作一个脚本,该脚本将删除通过谷歌表单提交的重复条目。本质上,谷歌表单将条目写入谷歌电子表格,我希望任何与已通过表单提交的条目重复的谷歌表单条目都会被自动删除。这是我现在拥有的代码:

function onFormSubmit(e) {  
var sheet = SpreadsheetApp.openById("13ggBeSGGxhI291uPcIr0RudwxxKUigtNEN750Q2hCBM");
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row.join() == newData[j].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

我知道其中的某些部分仍然不正确,所以我希望有人可以帮助我更好地了解我做错了什么,以便我可以做出必要的更正。谢谢!

最佳答案

您打开了一个电子表格对象,您还需要打开实际的工作表(一个电子表格有一个或多个工作表)。
sheet类有一个方法 clearContents(),一个 spreadsheet没有。

尝试 SpreadsheetApp.openById("13ggBeSGGxhI291uPcIr0RudwxxKUigtNEN750Q2hCBM").getSheetByName(whateverYourResponseSheetNameIsAsAString);

至于为什么Spreadsheet类支持getValues()但不支持clearContents(),我不知道,看起来不一致。对于前者,它隐式运行 getActiveSheet()

关于javascript - 从 Google 表单中删除重复项的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33402020/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com