Google apps script 尝试使用Google sheets脚本将工作表图表插入电子邮件草稿中
我正在尝试使用谷歌表单脚本将表单图表插入电子邮件草稿中。我的脚本创建了一个图表的PNG,但只附加了它,而不是内联插入它。有人能解释一下我剧本中的错误吗Google apps script 尝试使用Google sheets脚本将工作表图表插入电子邮件草稿中,google-apps-script,google-sheets,gmail,Google Apps Script,Google Sheets,Gmail,我正在尝试使用谷歌表单脚本将表单图表插入电子邮件草稿中。我的脚本创建了一个图表的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].m
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
});
var chartBlobs=新数组(charts.length);
var emailBody=“Charts
”;
var emailImages={};
对于(var i=0;i”;
emailImages[“chart”+i]=chartBlobs[i];
}
//var htmltable=[];
var TABLEFORMAT='cellspacing=“2”cellpadding=“2”dir=“ltr”border=“0”style=“width:100%;表格布局:固定;字体大小:12pt;字体系列:arial,sans,sans serif;边框折叠:折叠;边框:0px实心#ccc;字体重量:正常;颜色:黑色;背景颜色:白色;文本对齐:左侧;文本装饰:无;字体样式:正常;'
var htmltable='您应该在htmlBody中包含inlineImage引用。但是,您只发送htmltable
,而不是emailBody
。请尝试
GmailApp.createDraft(emails, subject, '', {
htmlBody: emailBody+htmltable, //Added
inlineImages: emailImages
});
同样的结果。图片作为附件发送。我也无法让它正常工作。谢谢你的帮助