【发布时间】:2019-06-25 20:34:18
【问题描述】:
我正在尝试发送一封包含固定消息的电子邮件,并在其下方有一个格式化的 HTML 表格,该表格仅在总列“row[23]”不为空时获取范围值,这意味着他正在轮班。
我只是想在包含值班成员的表格中将生产力发送给我的团队,在 Google 表格公式中反映内部生产力,但我需要脚本仅包含具有表格格式值的行,我尝试创建一个新的 HTML 页面并将其与 .gs 脚本链接,我尝试使用库,我尝试使用网站生成格式化的 HTML 表格脚本并将它们组合起来。
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet6')
var startRow = 1;
var numRows = sheet.getLastRow()
var dataRange = sheet.getRange('A2:x18' );
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = 'sherif.gamal1611@gmail.'
var message = "Hi team, kindly check our prod till now as below "
var Date= row[0];
var subject = 'Productivity Report' + " " + Date;
if (row[23] !="" ); {
//var htmltable =[];
var TABLEFORMAT = 'cellspacing="10" cellpadding="10" dir="ltr" border="1" style="width:100%;table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal;'
var html table = '<table ' + TABLE FORMAT +' ">';
for (row = 0; row<data.length; row++){
htmltable += '<tr>';
for (col = 2 ;col<data[row].length; col++){
if (data[row][col] === "" || 0) {htmltable += '<td>' + '' + '</td>';}
else
if (row === 0) {
htmltable += '<th>' + data[row][col] + '</th>';
}
else {htmltable += '<td>' + data[row][col] + '</td>';}
}
htmltable += '</tr>';
}
htmltable += '</table>';
Logger.log(data);
Logger.log(htmltable);
MailApp.sendEmail(emailAddress, subject, message,{ htmlBody: htmltable});
SpreadsheetApp.flush();
}
}
我收到的邮件中的间距和填充形状不好,我想知道是否可以对齐并在工作表和邮件中具有相同的格式以在 HTML 表格和表格之前包含一条消息包含在总列 row[23] " column X" 中具有值的行。
【问题讨论】:
-
感谢您的回复,鲁本。我正在深入研究您的参考资料,因为我真的是一个使用脚本的初学者,但我正在关注并希望我得到所需的结果。
-
@TheMaster,邮件中表格前的固定文本消息,例如:var message = "嗨,团队,请检查我们的产品,如下所示"
-
尝试删除
table-layout:fixed并提供屏幕截图以显示问题所在?
标签: html email google-apps-script google-sheets