【发布时间】:2015-08-12 11:06:43
【问题描述】:
在这里完成编码新手,请原谅我的无知。
我们有一个谷歌电子表格,其中包含 B2 中的电子邮件地址,以及单元格 A4 和 DX 之间的一堆数据(取决于数据的大小),我拼凑了一些脚本来获取要发送的电子邮件为每个选项卡输出:
function sendEmail() {
var ss = SpreadsheetApp.getActive();
for(var n in ss.getSheets()){// loop over all tabs in the spreadsheet
var sheet = ss.getSheets()[n];// look at every sheet in spreadsheet
var lastRow = sheet.getLastRow();
var to = sheet.getRange('B2').getValue();
var data = sheet.getRange('A4:D' + lastRow).getValues();
var body = '';
for( var row in data ) {
for( var col in data[row] ) {
body += data[row][col] + '\ ,';
}
body += '\n';}
MailApp.sendEmail(to, 'Your Holiday Extras Company Credit Card Statement', body);
}
}
这工作正常,但会发出这样的电子邮件:
Cardholder ,Merchant ,Date Occurred ,Amount ,
A CLOSE ,test 11 ,Thu Jun 25 2015 00:00:00 GMT+0100 (BST) ,8.4 ,
A CLOSE ,test 12 ,Tue Jun 30 2015 00:00:00 GMT+0100 (BST) ,1.5 ,
A CLOSE ,test 13 ,Tue Jun 30 2015 00:00:00 GMT+0100 (BST) ,17 ,
A CLOSE ,test 14 ,Tue Jun 30 2015 00:00:00 GMT+0100 (BST) ,24.55 ,
A CLOSE ,test 15 ,Tue Jun 30 2015 00:00:00 GMT+0100 (BST) ,2.58 ,
A CLOSE ,test 16 ,Thu Jul 02 2015 00:00:00 GMT+0100 (BST) ,133.2 ,
...看起来很糟糕,但确实包含正确的数据。
无论如何,使用上面的脚本作为外壳,将电子邮件正文格式化为表格以显示上述数据,如果没有,我将如何将数据的格式更改为只是 dd /mm/yy 而不是包括时间等,并且还更改格式以阻止每个字段后出现随机空格?
提前非常感谢!
【问题讨论】:
-
或者,是否可以创建一个 csv/excel 文件并将其作为附件发送出去,而不是在电子邮件正文中显示数据?
-
google "javascript 格式日期"。也涵盖在其他s.o.中问题。
-
谢谢 Zig,但我的问题是我不知道在上面的脚本中我把它放在哪里,因为没有参考电子表格中的日期列 - 我缺乏知识在这里显示!
-
其中一列包含日期对象。谷歌这个并试一试。这就是这个网站的意义:)
标签: email google-apps-script google-sheets google-docs