У меня есть лист Google, как указано ниже.
Col1 Col2 Col3
ABC DEF Test
ABC DEF Pending
ABC DEF Final
ABC DEF Final
ABC DEF Reject
ABC DEF Test
Я использую приведенный ниже код для удаления строк, где Col3
содержит значение, такое как «Final» или «Reject».
function deleteSelectedRows() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Test');
var rg=sh.getDataRange();
var vA=rg.getValues();
var d=0;
for(var i=1;i<vA.length;i++) {
if (vA[i][2].toString().toLowerCase()= = "final" || vA[i][2].toString().toLowerCase()= = "reject") {
sh.deleteRow(i-d+1)
d++;
}
}
}
Я хочу отправить данные об удаленных строках с заголовком на определенный идентификатор электронной почты в указанном ниже формате.
Col1 Col2 Col3
ABC DEF Final
ABC DEF Final
ABC DEF Reject
Надеюсь, следующий код поможет вам:
function deleteSelectedRows() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName('Test');
var rg = sh.getDataRange();
var vA = rg.getValues();
var d = 0;
var report = [vA[0]];
for(var i = 1; i < vA.length; i++) {
var key = vA[i][2].toString().toLowerCase();
if (key == "final" || key == "reject") {
sh.deleteRow(i - d + 1);
d++;
report.push(vA[i]);
}
}
report = report.map(function(line) {
return line.join("\t");
});
var body = report.join("\n");
MailApp.sendEmail('[email protected]', 'Deleted Rows', body);
}
Мы сохраняем массив отчета при удалении строк. В конце мы присоединяемся к двойному массиву, чтобы сделать обычный текст для отправки через Почтовое приложение.
Дополнительный вопрос: как отправить это как вложение? Да, это тоже возможно. Форматы CSV или Excel требуют больше усилий, но здесь мы можем показать очень простой пример с простым вложением TSV, чтобы понять, как это сделать. Давайте изменим последнюю строку кода следующим образом:
var blob = Utilities.newBlob(body, "text/tab-separated-values", '1.tsv');
MailApp.sendEmail('[email protected]', 'Deleted Rows', "See attachment", {
attachments: [blob]
});
Мы использовали готовый простой текст тело и только упаковали его с правильным типом mime.
не могу отправить вложение в csv или excel??