如何使用电子表格中的 table 填充 HTML table?
How do I populate an HTML table using a table from a spreadsheet?
所以我有一个简单的 4 列 table,其中包含将由函数添加的行。我想创建 html 正文,其中包含 table 并使用 google 脚本每周通过电子邮件发送 3 次。我能够将数据从电子表格中取出并放入变量中。问题是我不能把它变成一个该死的 table,我知道这可能是一个简单的解决方案,但我对 google 脚本还很陌生。这是我的脚本;
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);//
}
如果有人知道在计时器上设置此脚本的好方法,那也很棒,因为那是我的下一个目标。我已将 link 附加到我的电子表格。感谢您的帮助!
https://docs.google.com/spreadsheets/d/1X_UcqyXXRMyjZ2j46TymMrIMWvt19HOZTTaEUlIVqwE/edit?usp=sharing
- 您想根据从活动电子表格中检索到的值创建一个 HTML table,并希望使用 Google Apps 脚本将其作为 HTML 正文发送.
- 您想 运行 脚本由时间驱动触发器。
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。
第 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()
与时间驱动的事件触发器。您可以在 here 查看如何设置触发器。在这种情况下,根据你的问题 3 times per week
,"Week timer" 可能是 "Select type of time based trigger" 的 suitable。关于这个,请根据您的实际情况设置。
参考文献:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
所以我有一个简单的 4 列 table,其中包含将由函数添加的行。我想创建 html 正文,其中包含 table 并使用 google 脚本每周通过电子邮件发送 3 次。我能够将数据从电子表格中取出并放入变量中。问题是我不能把它变成一个该死的 table,我知道这可能是一个简单的解决方案,但我对 google 脚本还很陌生。这是我的脚本;
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);//
}
如果有人知道在计时器上设置此脚本的好方法,那也很棒,因为那是我的下一个目标。我已将 link 附加到我的电子表格。感谢您的帮助!
https://docs.google.com/spreadsheets/d/1X_UcqyXXRMyjZ2j46TymMrIMWvt19HOZTTaEUlIVqwE/edit?usp=sharing
- 您想根据从活动电子表格中检索到的值创建一个 HTML table,并希望使用 Google Apps 脚本将其作为 HTML 正文发送.
- 您想 运行 脚本由时间驱动触发器。
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。
第 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()
与时间驱动的事件触发器。您可以在 here 查看如何设置触发器。在这种情况下,根据你的问题 3 times per week
,"Week timer" 可能是 "Select type of time based trigger" 的 suitable。关于这个,请根据您的实际情况设置。
参考文献:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。