通过 google 电子表格发送 HTML 简报电子邮件
Sending HTML newsletter emails via google spreadsheet
我有一个每天更新的电子表格。斜体值每天更新,粗体值是静态标签。
日期: 9/20/2019
停车场车数: 105
最后一个条目: 09:21 AM
上次签出: Mr.X
我已经设置了一个脚本,通过 googlespreadsheet 向用户发送包含更新的电子邮件。但是用户收到的邮件是这样的纯文本:
日期:,9/20/2019,停车场车辆数量:,105,最后入场时间:,09:21 AM,最后退房时间:,Mr.X,
如何使此代码发送更用户友好的带有 table 或彩色字体等的电子邮件,类似于每日简报?
因此,根据要求,此脚本会将您的 sheet 数据转换为 HTML table,然后通过电子邮件将其作为邮件正文发送(您有空根据需要进一步修改 CSS)
假设您的 sheet 看起来像这样 -
你想要的输出是这样的 -
您可以使用以下代码并根据需要进行必要的更改-
var SheetID = "YourSheetIDGoesHere"; //replace with your Spreadsheet SheetID
var sheetName = "YourSheetNameGoesHere"; //replace with your Sheet Name
var sheet = SpreadsheetApp.openById(SheetID).getSheetByName(sheetName);
function sendUpdate() {
var range = sheet.getDataRange();
var values = range.getDisplayValues();
var weights = range.getFontWeights();
var rowDisplay = range.getLastRow();
var columnDisplay = range.getLastColumn();
var message = '';
message = message + "<table rules='all' border='3' style='border-color: #666;' cellpadding='5'>\n";
for (var i = 0; i < rowDisplay; i++ ) {
message = message + "<tr>\n";
for (var j = 0; j < columnDisplay; j++ ) {
message = message + "<td style='text-align: 'left'; font-weight: " + weights[i][j] + ";'>" + values[i][j] + "</td>\n";
} // ends the for loop for each column
message = message + "</tr>\n";
}
message = message + "</table>\n";
MailApp.sendEmail(
{
to: Session.getActiveUser().getEmail(), //this will send the email to whoever is running the script; replace it with the desired email IDs
subject: "Subject Goes Here",
htmlBody: message
}
);
}
受本文启发here。
我有一个每天更新的电子表格。斜体值每天更新,粗体值是静态标签。
日期: 9/20/2019
停车场车数: 105
最后一个条目: 09:21 AM
上次签出: Mr.X
我已经设置了一个脚本,通过 googlespreadsheet 向用户发送包含更新的电子邮件。但是用户收到的邮件是这样的纯文本:
日期:,9/20/2019,停车场车辆数量:,105,最后入场时间:,09:21 AM,最后退房时间:,Mr.X,
如何使此代码发送更用户友好的带有 table 或彩色字体等的电子邮件,类似于每日简报?
因此,根据要求,此脚本会将您的 sheet 数据转换为 HTML table,然后通过电子邮件将其作为邮件正文发送(您有空根据需要进一步修改 CSS)
假设您的 sheet 看起来像这样 -
你想要的输出是这样的 -
您可以使用以下代码并根据需要进行必要的更改-
var SheetID = "YourSheetIDGoesHere"; //replace with your Spreadsheet SheetID
var sheetName = "YourSheetNameGoesHere"; //replace with your Sheet Name
var sheet = SpreadsheetApp.openById(SheetID).getSheetByName(sheetName);
function sendUpdate() {
var range = sheet.getDataRange();
var values = range.getDisplayValues();
var weights = range.getFontWeights();
var rowDisplay = range.getLastRow();
var columnDisplay = range.getLastColumn();
var message = '';
message = message + "<table rules='all' border='3' style='border-color: #666;' cellpadding='5'>\n";
for (var i = 0; i < rowDisplay; i++ ) {
message = message + "<tr>\n";
for (var j = 0; j < columnDisplay; j++ ) {
message = message + "<td style='text-align: 'left'; font-weight: " + weights[i][j] + ";'>" + values[i][j] + "</td>\n";
} // ends the for loop for each column
message = message + "</tr>\n";
}
message = message + "</table>\n";
MailApp.sendEmail(
{
to: Session.getActiveUser().getEmail(), //this will send the email to whoever is running the script; replace it with the desired email IDs
subject: "Subject Goes Here",
htmlBody: message
}
);
}
受本文启发here。