繁体   English   中英

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

[英]How do I populate an HTML table using a table from a spreadsheet?

所以我有一个简单的 4 列表,其中的行将由函数添加。 我想创建一个包含表格的 html 正文,并使用 google 脚本每周通过电子邮件发送 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. 您希望通过时间驱动触发器运行脚本。

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

回答 Q1:

当你的脚本被修改时,它变成如下。

修改后的脚本:

从:
 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 正文时,将显示文本正文。

回答 Q2:

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

参考:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM