我编写了一个代码,该代码从Gmail附件中读取.csv文件,并将其写入到我的有效Google表格中。
此脚本第一次正确运行,但是后续执行仅写入旧数据。当我用不同的值重新发送CSV时,它仍然会写入旧值。
例如:gmail收到以下数据
Name | sal
Abhi | 400
Nil | 600
这将在我的活动表上成功更新。
如果我手动删除此邮件并收到新附件:
Name | sal
Jho | 600
Maik | 500
这一次,即使旧电子邮件已被删除,我的代码也不会写入以上数据。它仍然会写Abhi 400,nil 600。
下面是代码:
function importCSVFromGmail() {
var threads = GmailApp.search("STUDENT");
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
if (attachment.getContentType() === "text/csv") {
var sheet = SpreadsheetApp.getActiveSheet();
var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
// Remember to clear the content of the sheet before importing new data
sheet.clearContents().clearFormats();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
}