Google应用程序脚本以与表格相同的格式发送电子邮件

时间:2019-03-24 07:29:04

标签: html email google-apps-script

我当前正在使用此脚本从工作表中发送电子邮件

我的问题是我无法获得与表格相同格式的电子邮件

有什么方法可以发送与工作表中相同的格式的电子邮件?

谢谢!

这是代码

function Reminder() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Sheet1");
  var range = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()-1);
  var valueToCheck = sheet.getRange("F1").getValue();

 // Optional init, to ensure the spreadsheet config overrides the script's
  var conv = SheetConverter.init(ss.getSpreadsheetTimeZone(),ss.getSpreadsheetLocale());

  // Grab an array for formatted content
  var array = conv.convertRange(range);
  Logger.log(JSON.stringify(array));

  // Get a html table version, with all formatting
  var html = conv.convertRange2html(range);
  Logger.log(html);

//Enter your condition below
  if(valueToCheck != 'OK'){
    MailApp.sendEmail("test@gmail.com", 'Reminder','' ,
    {name: 'Sen',htmlBody: 
    "Message " + "</br></br>" +
    html + "</br></br>" +
     })

}
}

Sheet转换器是一个适用于https://sites.google.com/site/scriptsexamples/custom-methods/sheetconverter

的脚本的库

2 个答案:

答案 0 :(得分:0)

此:if(valueToCheck = 'OK'){应该是:if(valueToCheck == 'OK'){

答案 1 :(得分:0)

并非所有 Google 表格格式功能(即单元格边框)都可以使用 Google Apps Script 中的电子表格服务读取。您可以尝试使用 Sheets Converter 作为起点,并使用 Google Sheets Advanced Service 对其进行补充。

如果您使用 Sheets Converter 库,则可能需要更改默认格式设置,以使其能够重现表格的格式。除其他事项外,您可能需要扩展此库以支持单元格富文本格式。


来自https://github.com/mogsdad/SheetConverter/

<块引用>

此脚本不完整,忽略了某些类型的格式。 (如果您愿意,可以随意 fork 和增强它!可以合并广泛适用的增强功能并更新库)还有一些已知问题:

(详情请阅读源码)

值得注意的是,代码更新时间为 25 天前(2021 年 1 月 14 日)

相关