Google Script - 将工作表转换为XLSX

时间:2016-09-29 08:24:56

标签: google-apps-script

我有这个代码在驱动器文件夹中搜索新文档,并通过电子邮件发送文件

Map<Integer,String> map = new HashMap<>();
StringBuilder sb = new StringBuilder(128);
sb.append("one");
map.put(1,sb.toString());

sb.setLength(0); // equivalent to your clear()
sb.append("two"); // reuse same StringBuilder instance
map.put(2,sb.toString());

我需要在发送之前将表格文件转换为XLSX格式。 有人能帮助我吗?

由于

1 个答案:

答案 0 :(得分:3)

您可以按照tutorial关于如何将当前的Google电子表格转换为Excel XLSX格式,然后使用getGoogleSpreadsheetAsExcel()方法将该文件作为附件发送给指定用户。

function getGoogleSpreadsheetAsExcel(){

  try {

    var ss = SpreadsheetApp.getActive();

    var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss.getId() + "&exportFormat=xlsx";

    var params = {
      method      : "get",
      headers     : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
      muteHttpExceptions: true
    };

    var blob = UrlFetchApp.fetch(url, params).getBlob();

    blob.setName(ss.getName() + ".xlsx");

    MailApp.sendEmail("amit@labnol.org", "Google Sheet to Excel", "The XLSX file is attached", {attachments: [blob]});

  } catch (f) {
    Logger.log(f.toString());
  }
}

以下是一些可能有帮助的类似线程: