我有一个带有数据透视表的google电子表格,我想根据某些标准使用我的Gmail自动发送电子邮件。我对电子邮件脚本和cindition感到非常满意,但是我找不到任何能够有效地将表格“复制 - 粘贴”到电子邮件中的脚本。
感谢您提供的任何帮助。
由于
敏捷
我设法使用此社区的建议让它工作。谢谢!
我试图让它水平显示值,即每行新客户记录。但是,我得到了不同的东西。我附上了我得到的文件和代码。我很感激任何建议。我很确定解决方案就在那里,但经过几个小时我无法得到它:(我正在显示下面的代码,我附上了当前和期望结果的照片。
非常感谢
敏捷
function testMail(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var responses = ss.getSheetByName("Monitoreo de Pedidos");
// var lastRow = responses.getLastRow();
// var values = responses.getRange("A2"+(lastRow)+":R2"+(lastRow)).getValues();
var values = responses.getRange("A3:R12").getValues();
var headers = responses.getRange("A2:R2").getValues(); //The headers. A1 TO R1 does not contain relevant data
var message = composeMessage (headers,values);
var messageHTML = composeHtmlMsg(headers,values);
Logger.log(messageHTML);
MailApp.sendEmail(Session.getEffectiveUser().getEmail(),'test html', message,{'htmlBody':messageHTML});
}
function composeMessage(headers,values){
var message = 'Here are the data you submitted :\n'
for (var j=0;j<5;++j){ //NUMBER OF ROWS
for(var c=0;c<values[0].length;++c){ //NUMBER OF COLUMNS, in the future this will be dynamic
message+='\n'+headers[0][c]+' : '+values[j][c]
}
}
return message;
}
function composeHtmlMsg(headers,values){
var message = 'Here are the data you submitted :<br><br><table style="background- color:yellow;border-collapse:collapse;" border = 1 cellpadding = 5><th>Title</th> <th>Customer Info</th><tr>'
for (var j=0;j<5;++j){
for(var c=0;c<values[0].length;++c){
message+='<tr><td>'+headers[0][c]+'</td><td>'+values[j][c]+'</td></tr>'
}
}
return message+'</table>';
![Desired outcome][1]}
答案 0 :(得分:0)
您需要将电子邮件正文编写为html并插入其中。如果你想模仿格式化,还有更多工作要做。如果你遇到困难,请尝试并写回。