尝试使用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 脚本在电子表格中查找按钮的位置?