【问题标题】:Send email from a spreadsheet with whole formatting and borders从具有完整格式和边框的电子表格发送电子邮件
【发布时间】:2016-04-25 10:11:07
【问题描述】:

您好,我正在尝试从 google 电子表格向邮件发送表格,但得到的只是邮件中的“[object Object]”,这是我的脚本。

function sendEmail() {
  var s = SpreadsheetApp.getActive().getSheetByName('Summary');
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getActiveSheet().getDataRange();
  var range = s.getRange('A1:D8');
  var to = "srinath@example.com";
  var body = '';
  var htmlTable = SheetConverter.convertRange2html(range);
var body = "Here is the table:<br/><br/>"
     + htmlTable
     + "<br/><br/>The end."

  MailApp.sendEmail(to, 'Subject', {htmlBody: body});
};

我不想将整个表格和格式发送到邮件正文 我从此链接获得了 Sheetconverter 库Use MailApp to send formatted data from spreadsheet in htmlBody 请帮帮我

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    在电子邮件正文中发送 HTML 时,您需要包括特别说明存在 HTML 正文的选项。

    MailApp.sendEmail(email, 'Subject', body, {htmlBody: body})
    

    {htmlBody: body} 位是您所缺少的。

    修改代码:

    function sendEmail() {
      var s = SpreadsheetApp.getActive().getSheetByName('Summary');
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var range = ss.getActiveSheet().getDataRange();
      var range = s.getRange('A1:D8');
      var to = "srinath@example.com";
      var body = '';
      var htmlTable = SheetConverter.convertRange2html(range);
    var body = "Here is the table:<br/><br/>"
         + htmlTable
         + "<br/><br/>The end."
    
      MailApp.sendEmail(to, 'Subject', body, {htmlBody: body});
    };
    

    【讨论】:

    • 嗨,感谢您的快速建议,但它仍然无法正常工作,现在我在邮件中收到了这个“[object Object]”,而不是 html 代码。还有其他建议吗?
    • @munnasri 你能发布你的 sendMail 调用代码吗?这对我来说非常好。
    • 我已经发布了有问题的整个代码,'function sendEmail() { var s = SpreadsheetApp.getActive().getSheetByName('Summary'); var ss = SpreadsheetApp.getActiveSpreadsheet(); var range = ss.getActiveSheet().getDataRange(); var range = s.getRange('A1:D8'); var to = "srinath@example.com";变体 = ''; var htmlTable = SheetConverter.convertRange2html(range); " var body = "这是表格:

      " + htmlTable + "

      结束。" MailApp.sendEmail(to, 'Subject', body, {htmlBody: body}); };'
    • @munnasri 在您问题的代码中,您在sendEmail 方法调用中缺少body 参数。这需要四个参数,只提供三个参数,然后假设对象{htmlBody: body} 是电子邮件的文本正文。
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多