1

我是 Google Scripts 的新手,我需要找到一种方法,将 Google 电子表格中收集的数据通过电子邮件发送到 Gmail 帐户。

我设置了一个 Google 表单,用于记录全天的客户服务统计信息。响应被收集到电子表格中。每天都会清理电子表格,以便为第二天的回复做好准备。我需要找到一种方法,让所有收集到的回复在每天结束时通过电子邮件发送到报告中。

从我到目前为止所做的搜索来看,我认为 getRange 和 getValues 是必需的,但我不知道如何编写代码来检索工作表上的所有数据。电子表格总是有 4 个集合列,但生成的行数取决于每天收集的统计数据的数量。我发现 getLastRow 可以解决这个问题,但是如何将它与 getRange 和 getValues 一起使用?

我尝试编写一个非常基本的脚本来完成这项工作,但它所做的只是通过电子邮件发送 A1 单元格中的值。我需要所有的数据。我使用时间触发器来控制它何时运行。我究竟做错了什么?

function emailStats() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getActiveRange().getValues();
  var subject = "Daily Report of Customer Service Statistics";
  MailApp.sendEmail("pnnmeetingroom@gmail.com", subject, dataRange);

}
4

1 回答 1

0

变化:

代码:

function emailStats() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var subject = "Daily Report of Customer Service Statistics";
  MailApp.sendEmail("pnnmeetingroom@gmail.com", subject, createTable(data));
}
于 2013-08-27T23:22:10.843 回答