我是Google脚本的初学者,如果我问任何愚蠢的事情,我深表歉意 我需要将Excel文件(通过gmail收到)导入到现有的Google表格中。下面的代码将执行与我要求相同的操作,但是下面的代码仅导入CSV,谁能帮助我修改此代码,以便代码导入Excel文件。
function importCSVFromGmail() {
var threads = GmailApp.search("from:reports@example.com");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(), ",");
sheet.clearContents().clearFormats();
sheet.getRange(1, 1,csvData.length,csvData[0].length).setValues(csvData);
}
}
答案 0 :(得分:0)
在您的代码中,此行var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
完成了将csv文件数据转换为2D数组的所有繁重工作,您正在将其转储到Google工作表中。
我认为您可以使用某些库来解析excel文件,以执行类似的操作。
在这里http://codetheory.in/parse-read-excel-files-xls-xlsx-javascript/
所以代码将变成这样:
// Search for attachment
// Check for it's content-type
// If it's a csv file, process it and convert into a 2D array
// Else if it's a excel file then use some library and convert it into 2D array
// Store that 2D array in sheet