【问题标题】:Google Scripting and Email谷歌脚本和电子邮件
【发布时间】:2020-09-02 10:46:31
【问题描述】:

我有一个带有预先填充数据的表格的 Googlesheet,

我想使用脚本在电子邮件中发送摘要/表格的“图片”

有没有办法使用脚本来预览电子邮件正文中的表格?

感谢您对此的任何帮助

【问题讨论】:

    标签: javascript google-apps-script google-sheets scripting


    【解决方案1】:

    要完成此任务,您可以使用SheetConverter。

    • 按照这些说明添加此library 直接添加到您的项目中。
    • 但是,如果您遇到任何问题,请在第一个回答 post 将为您提供您正在寻找的解决方案。

    导入库后,使用此代码 sn-p 发送电子邮件正文中表格的“屏幕截图”。您可以在此处指定表格的范围:

    const range = s.getRange('B2:C10');
    

    请同时调整Sheet的名称,在下面的例子中我使用Sheet1。

    代码.gs

    function sendEmail() {
      
      const s = SpreadsheetApp.getActive().getSheetByName('Sheet1');
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const conv = SheetConverter.init(ss.getSpreadsheetTimeZone(),
                        ss.getSpreadsheetLocale());
      const range = s.getRange('B2:C10');
      
      const htmlTable = conv.convertRange2html(range);
      
      const to = 'example@gmail.com';
      
      const body = 
         "Dear Sir or Madam, <br/><br/>" 
         + htmlTable
         + "<br/><br/>End of report." ;
         
      const subject ="This is a test";
         
         MailApp.sendEmail(to, subject, body, {htmlBody: body});
         
    }
    

    【讨论】:

    • 如果我可以再问一个问题,在这个脚本中,如果是负数和逗号,我可以重新格式化数字以包含 () 吗?
    • @Alexasks 哪些数字?
    • 在预填表中,例如在我的谷歌表中,它们的布局为 85,985,但当它发送电子邮件时,它是 85985 - 也有一些数字被视为负数 (85,985),但在出现的电子邮件中为-85985
    • @Alexasks 尝试将text 和cell 中的格式更改为85,985,然后再次运行脚本。它应该捕获正确的格式。
    • 谢谢,看来我不能在括号内使用负数 ()
    猜你喜欢
    • 2013-04-04
    • 2017-07-31
    • 2016-09-12
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多