Надеюсь, вам поможет следующий код:
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('abc@gmail.com', 'Deleted Rows', body);
}
Мы сохраняем массив отчетов при удалении строк. В конце мы соединяем двойной массив, чтобы сделать простой текст для отправки через MailApp .
Дополнительный вопрос: как отправить это как вложение? Да, это тоже возможно. Форматы CSV или Excel требуют больше усилий, но здесь мы можем показать очень простой пример с простым вложением TSV, чтобы понять путь. Давайте изменим последнюю строку кода следующим образом:
var blob = Utilities.newBlob(body, "text/tab-separated-values", '1.tsv');
MailApp.sendEmail('abc@gmail.com', 'Deleted Rows', "See attachment", {
attachments: [blob]
});
Мы использовали готовый текст простой текст и упаковали его только с соответствующим типом пантомимы.