我在尝试使用Google脚本删除与特定值匹配的行时遇到了最奇怪的错误。使用Google Apps脚本删除Google表格中的行
这里是我的代码:
function myFunction() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("file.csv");
var values = sheet.getRange("N2:N").getValues();
var row_del = new Array();
for(var i=0;i<values.length;i++)
{
if(values[i] == 'del'){
row_del.push(i+2); // This line was added for debugging purposes.
// sheet.deleteRow(i+2) was the line that was in this condition
// (i+2) is used because row 1 has headers and the range starts from 0.
}
}
// Logger.log(row_del);
// GmailApp.sendEmail("my_email_address", "subject", row_del)
for (var i = 0; i < row_del.length; i++)
{
sheet.deleteRow(row_del[i]);
}
}
我写拾起应删除的行数,但不是所有的这些行中我第一次尝试删除该代码。我应该多次执行我的脚本以删除这些行。
如果我的代码有错误,应该显示出来,如果逻辑错误,则必须删除不正确的行。我没有遇到这些情况,我应该多次执行此功能。
有什么,我在这里失踪?
尝试从下往上删除:'为(VAR I = row_del.length - 1;我> = 0; i--) { sheet.deleteRow(row_del [i]); }' –
这工作..谢谢很多汤。你能告诉我为什么我的代码不工作吗?你的逻辑和我的逻辑不一样吗? –
你可以使用sheet.deleteRows(1,2);以及一次删除所有行 –