将Excel文件导入Google数据表

时间:2018-07-23 09:00:25

标签: google-apps-script google-sheets

我是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);
 }
}

1 个答案:

答案 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