[英]Import CSV attachment into google sheets
我想要做的是獲取CSV附件的內容以輸出到Google表格。 我不知道我是否正確地做了這個,但我在網上找到了它,運行它,然后沒有任何反應。
function importCSVFromGmail() {
var threads = GmailApp.search("from:cbuffone123@gmail.com");
var message = threads[0].getMessages()[0];
var attachment = message.getAttachments()[0];
// Is the attachment a CSV file
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);
}
}
在我的環境中,我確認當從電子郵件中檢索附加的*.csv
文件時,mimeType將作為application/vnd.ms-excel
檢索。 我認為“沒有發生”的原因就是這個。 那么這些修改怎么樣? 我認為您的情況有幾種解決方法。 所以請將這些修改視為其中的3個。
application/vnd.ms-excel
請在if (attachment.getContentType() === "text/csv") {
之前添加以下腳本if (attachment.getContentType() === "text/csv") {
。
attachment.setContentTypeFromExtension();
請修改如下。
從: if (attachment.getContentType() === "text/csv") {
至:
var fileName = attachment.getName().toUpperCase().split(".");
if (fileName.length > 1 && fileName[1] == "CSV") {
請修改如下。
從: if (attachment.getContentType() === "text/csv") {
至:
var fileName = attachment.getName().toUpperCase().split("."); if (fileName.length > 1 && fileName[1] == "CSV") {
setContentTypeFromExtension()
從文件名的擴展名設置mimeType。 application/vnd.ms-excel
。 如果這些不是你想要的,我很抱歉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.