我在嘗試使用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);以及一次刪除所有行 –