亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 CSV 或 XLS 內容添加到 Gmail 到 Google 表格的下一個可用行?

如何將 CSV 或 XLS 內容添加到 Gmail 到 Google 表格的下一個可用行?

慕碼人8056858 2021-12-12 09:54:35
我每天都會收到一封電子郵件,其中附有 .xls(有時是 CSV)電子表格文件。我想每天導入這個 SS 并將新內容添加到下一個可用行。如何調整此腳本以執行該操作?我想讓這個腳本將內容添加到特定的工作表/標簽。此外,我將如何讓此腳本查找特定標簽而不是我的主要收件箱以從中提取文件?function importCSVFromGmail() {var threads = GmailApp.search("from:Email Address Here");var messages = threads[0].getMessages();var message = messages[messages.length - 1];var attachment = message.getAttachments()[1];// Is the attachment a CSV fileattachment.setContentType('text/csv'); //attachment.setContentTypeFromExtension();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 datasheet.clearContents().clearFormats();sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData); }}
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

  • 您想將 CSV 數據和 XLSX 數據附加到活動電子表格中的特定選項卡。

  • 您想檢索帶有 gmail 特定標簽的電子郵件。

  • 您想使用 Google Apps 腳本來實現這一點。

如果我的理解是正確的,這個答案怎么樣?請將此視為幾個答案之一。

改裝要點:

  • 可以直接從 CSV 文件中檢索數據。但是對于 XLSX 文件,需要將其轉換為 Google 電子表格并從轉換后的電子表格中檢索數據。

    • XLSX 文件通過文件轉換為 Google 電子表格:插入 Drive API。

  • 為了將數據附加到特定選項卡,在此修改中,我使用了getSheetByName()getLastRow()。

  • 為了檢索帶有特定標簽的電子郵件,我使用了label:###label###.

修改后的腳本:

請按如下方式修改您的腳本。在運行腳本之前,請在高級 Google 服務中啟用 Drive API。. 并將標簽名稱設置為sheetName. 并將搜索查詢設置為GmailApp.search("from:###email### label:###label###")。###email######label###分別是電子郵件地址和標簽。

function importCSVFromGmail() {

  var sheetName = "Sheet1"; // Please set the tab name you want to append the data.

  var threads = GmailApp.search("from:###email### label:###label###"); // Please set here.


  var messages = threads[0].getMessages();

  var message = messages[messages.length - 1];

  var attachment = message.getAttachments()[1];

//  attachment.setContentTypeFromExtension(); // This might be required for your situation.

  var data = [];

  if (attachment.getContentType() == MimeType.CSV) {

    data = Utilities.parseCsv(attachment.getDataAsString(), ",");

  } else if (attachment.getContentType() == MimeType.MICROSOFT_EXCEL || attachment.getContentType() == MimeType.MICROSOFT_EXCEL_LEGACY) {

    var tempFile = Drive.Files.insert({title: "temp", mimeType: MimeType.GOOGLE_SHEETS}, attachment).id;

    data = SpreadsheetApp.openById(tempFile).getSheets()[0].getDataRange().getValues();

    Drive.Files.trash(tempFile);

  }

  if (data.length > 0) {

    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);

    sheet.getRange(sheet.getLastRow() + 1, 1, data.length, data[0].length).setValues(data);

  }

}


查看完整回答
反對 回復 2021-12-12
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號