如何使用谷歌脚本将电子表格转换为Excel格式

时间:2016-08-09 13:06:45

标签: excel spreadsheet urlfetch

将电子表格转换为PDF工作真棒!但不适用于exel表。

我的代码:**将电子表格转换为PDF格式。工作得很好! :) **

var pdf2 = DriveApp.getFileById(newSpreadsheet2.getId()).getAs('application/pdf').getBytes();
  var attachPdf = {fileName:'WeeklyPdfStatus.pdf',content:pdf2, mimeType:'application/pdf'};
  // Send the freshly constructed email 
  MailApp.sendEmail("<my_MailID>@gmail.com", subject, message, {attachments:[attachPdf]});
  MailApp.sendEmail("elango.vb@gmail.com", subject, message, {attachments:[attachPdf]});

我的代码:**将电子表格转换为Excel格式..不起作用:( **

  var exl = DriveApp.getFileById(newSpreadsheet2.getId()).getAs('application/xls').getBlob();
  var attachExl = {fileName:'WeeklyExcelStatus.xls',content:exl, mimeType:'application/xls'};
  // Send the freshly constructed email 
  MailApp.sendEmail("<my_MailID>@gmail.com", subject, message, {attachments:[attachExl]});

我知道我遗漏了一些基本的东西,有人可以解释一下我应该更改/修改哪些内容以便我可以将我的数据作为excel本身吗?

请帮助!!

提前致谢...

1 个答案:

答案 0 :(得分:0)

感谢那些试图帮助的人!我经过一番努力后自己做了:)

进行了一些搜索(从THIS得到一些线索)并最终尝试使用网址提取,如下所示...

var file = Drive.Files.get(&#39;&#39;);   var response = UrlFetchApp.fetch(&#39; https://docs.google.com/spreadsheets/d/ / export?format = xlsx&#39;,{headers:{授权:&#34; Bearer&#34; + ScriptApp.getOAuthToken()}}) ;
  var doc = response.getBlob();   app = DriveApp.createFile(doc).setName(file.title +&#39; .xlsx&#39;)   MailApp.sendEmail(&#34; @ domain.com&#34;,&#34; Hey XLS附件&#34;,&#34;下载后请检查您的附件并确认&#34;,{附件:app})< / p>

请注意:今天(2016年8月)的这项工作以及我从我的g-mail和电子表格发送电子邮件的行为都在我的(相同的)g-mail驱动器中。

我不知道怎么做Auth2等,因为我用尽所有可能的试验,最后得到了我需要的东西,使用上面的URL获取命令。

Nandri! (谢谢)