如何使用电子表格中的表格填充 HTML 表格?



所以我有一个简单的 4 列表,其中包含将由函数添加的行。我想创建一个包含表格的 html 正文,并使用谷歌脚本每周通过电子邮件发送 3 次。我能够将数据从电子表格中取出并放入变量中。问题是我无法将其放入的表中,我知道这可能是一个简单的解决方案,但我对谷歌脚本很陌生。这是我的剧本;

function emailsLeanKitchen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Sheet = ss.getSheetByName("Sheet1");
var dataTable = Sheet.getRange(1,1,Sheet.getLastRow(),4).getValues();
Logger.log(dataTable);
GmailApp.sendEmail("my email","subject", dataTable);//
}

如果有人知道在计时器上设置此脚本的好方法,那也很酷,因为这是我的下一个目标。我已将链接附加到我的电子表格。我感谢任何帮助!
https://docs.google.com/spreadsheets/d/1X_UcqyXXRMyjZ2j46TymMrIMWvt19HOZTTaEUlIVqwE/edit?usp=sharing

  1. 您希望根据从活动电子表格中检索的值创建一个 HTML 表格,并希望使用 Google Apps 脚本将其作为 HTML 正文发送。
  2. 您希望通过时间驱动的触发器运行脚本。

如果我的理解是正确的,那么这个答案呢?请将此视为几种可能的答案之一。

问题 1 的答案:

修改脚本后,它将变为如下。

修改后的脚本:

从:
GmailApp.sendEmail("my email","subject", dataTable);//
自:
var htmlTable = dataTable.reduce(function(s, e) {
return s += "<tr><th>" + e.join("</th><th>") + "</th></tr>"
}, "<table border="1">") + "</table>";
GmailApp.sendEmail("my email","subject", "sample text body", {htmlBody: htmlTable});
  • 在这种情况下,htmlTable作为 HTML 正文发送。"sample text body"作为文本正文发送。在这种情况下,当邮件程序无法读取 HTML 正文时,将显示文本正文。

问题 2 的答案:

您可以使用时间驱动的事件触发器运行函数emailsLeanKitchen()。您可以在此处了解如何设置触发器。在这种情况下,从您的问题3 times per week来看,"周计时器"可能适用于"选择基于时间的触发器类型"。关于这一点,请根据您的实际情况进行设置。

引用:

  • 发送电子邮件(收件人,主题,正文,选项(
  • 手动管理触发器

如果我误解了你的问题,这不是你想要的方向,我很抱歉。

最新更新