如何使用谷歌脚本将谷歌电子表格表格粘贴到Gmail中?

时间:2014-01-24 21:08:36

标签: email google-apps-script

我有一个带有数据透视表的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]}

1 个答案:

答案 0 :(得分:0)

您需要将电子邮件正文编写为html并插入其中。如果你想模仿格式化,还有更多工作要做。如果你遇到困难,请尝试并写回。