使用应用脚本通过电子邮件发送Google电子表格中的图表

The*_*Fox 4 html-email google-apps-script

我一直在寻找答案,但没有运气.获得了一个Google电子表格,该电子表格使用应用脚本连接到数据库,将一些原始数据导入电子表格.然后,我使用各种电子表格公式来操作该数据,然后最终创建一个图表.

我的下一个挑战是,我希望能够通过应用程序脚本将该图表嵌入到电子邮件中,并将其作为HTML电子邮件发送.

这是完全可能还是我应该开始寻找其他解决方案?

谢谢!

的Mikael

dpa*_*nas 5

这是我用来通过电子邮件发送图表的代码.请注意,您需要为每个人提供电子表格的链接访问权限.如果没有,您将在电子邮件中收到一张图片,说明用户未登录.(非常烦人的是,此处没有解决方法)

function emailCharts(sheet,emails,emailSubject){
  var charts = sheet.getCharts();

  if(charts.length==0){
    MailApp.sendEmail({
      to: emails,
      subject: "ERROR:"+emailSubject,
      htmlBody: "No charts in the spreadsheet"});    
    return;
  }

  var chartBlobs=new Array(charts.length); 
  var emailBody="Charts<br>";
  var emailImages={};
  for(var i=0;i<charts.length;i++){
    chartBlobs[i]= charts[i].getAs("image/png").setName("chartBlob"+i);
    emailBody= emailBody + "<img src='cid:chart"+i+"'><br>";
    emailImages["chart"+i]= chartBlobs[i];
  }

  MailApp.sendEmail({
    to: emails,
    subject: emailSubject,
    htmlBody: emailBody,
    inlineImages:emailImages});

}
Run Code Online (Sandbox Code Playgroud)

  • 我也有这个问题.您必须启用"链接共享"("任何有链接的人都可以查看"). (2认同)