尝试使用Google表格脚本将表格图表插入到电子邮件草稿中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试使用Google表格脚本将表格图表插入到电子邮件草稿中相关的知识,希望对你有一定的参考价值。

我正在尝试使用Google表格脚本将表格图表插入到电子邮件草稿中。我的脚本创建了图表的PNG,但只附加它而不是插入内联。有人可以对我脚本中的错误有所了解吗?

var chartBlobs = new Array(charts.length); 
var emailBody = "Charts<br>";
var emailImages = {};
for (var i = 0; i < charts.length; i++) {
  var builder = charts[i].modify();
  builder.setOption('vAxis.format', '#');
  var newchart = builder.build();
  chartBlobs[i] = newchart.getAs('image/png');
  emailBody = emailBody + "<p align='center'><img src='cid:chart" + i + "'></p>";
  emailImages["chart" + i] = chartBlobs[i];
}

//var htmltable =[];
var TABLEFORMAT = 'cellspacing="2" cellpadding="2" dir="ltr" border="0" style="width:100%;table-layout:fixed;font-size:12pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:0px solid#ccc;font-weight:normal;color:black;background-color:white;text-align:left;text-decoration:none;font-style:normal;'
var htmltable = '<table ' + TABLEFORMAT + ' ">';

for (row = 0; row < data.length; row++) {
  htmltable += '<tr>';
  for (col = 0; col < data[row].length; col++) {
    if (data[row][col] === "" || 0) {htmltable += '<td>' + '' + '</td>';} 
    else if (row === 0)  {
      htmltable += '<th>' + data[row][col] + '</th>';
    }
    else if (row === 6)  {
      htmltable += '<th>' + data[row][col] + '</th>';
    }
    else if (row === 8)  {
      htmltable += '<th><font color=#3A8FDD>' + data[row][col] + '</font></th>';
    }
    else {htmltable += '<td>' + data[row][col] + '</td>';}
  }
  htmltable += '</tr>';
}
htmltable += '</table>';
Logger.log(data);
Logger.log(htmltable);

//Send Email
GmailApp.createDraft(emails, subject, '', {
  htmlBody: htmltable, 
  inlineImages: emailImages
});
答案

您应该在htmlBody中包含inlineImage引用。但是,你只发送htmlTable而不是emailBody。尝试

GmailApp.createDraft(emails, subject, '', {
  htmlBody: emailBody+htmltable,  //Added
  inlineImages: emailImages
});

以上是关于尝试使用Google表格脚本将表格图表插入到电子邮件草稿中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google Apps 脚本将来自 Google 电子表格和 ScriptDB 的数据插入 BigQuery 表

Google Apps脚本 - 复制到现有电子表格

如何使用 Google Apps 脚本在电子表格中查找按钮的位置?

使用脚本将 Google 电子表格导出到文本文件

Google Apps 脚本 - 将一行数据从一个电子表格移动到另一个电子表格

在 Google Apps 脚本中从另一个电子表格编辑一个电子表格