【问题标题】:Trying to insert a sheets chart in line into an email draft using Google Sheets Script尝试使用 Google 表格脚本将表格图表插入电子邮件草稿中
【发布时间】:2018-09-14 14:42:43
【问题描述】:

我正在尝试使用 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
});

【问题讨论】:

  • 同样的结果。图片已作为附件发送。
  • 我也无法让它工作 smh 感谢您的帮助

标签: google-apps-script google-sheets gmail


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多