我一直在互联网上搜索一种通过HTML格式的电子邮件通过google app maker导出数据库表的方法。理想情况下,我正在寻找一种简单的解决方案,例如可以单击并确认的按钮。不一定要好看,而必须工作。
最好, 授予
答案 0 :(得分:0)
您将必须自行设置HTML表格的格式,然后使用MailApp.sendEmail()
参数使用htmlBody
函数。
可以编写一些通用函数,该函数接受记录数组和标头数组(或模型对象),并生成HTML表。我还没有编写这样的函数,但是下面是一个快速而肮脏的示例,用于生成HTML表并通过电子邮件发送。
理想情况下,您会将事件附加到导出按钮上,该按钮会将widget.datasource.items
传递给该HTML格式设置功能。
// Array of records to send
var records = [
{name:'Foo', owner:'Bob', date: new Date()},
{name:'Bar', owner:'Max', date: new Date()}
];
// Instantiate table string
var table = '<table cellspacing="0" border="1" cellpadding="15" width="400">';
// Add header
table += '<tr><th>Name</th><th>Owner</th><th>Date</th>';
for(var i in records){
var record = records[i];
table += '<tr><td>' + record.name + '</td><td>' +
record.owner + '</td><td>' +
record.date.toLocaleString() + '</td></tr>';
}
table += '</table>';
// Send via MailApp service
var message = {
to: 'me@gmail.com',
subject: 'Your HTML Table',
htmlBody: table,
body: 'Sorry, your mail client does not support HTML emails.'
};
MailApp.sendEmail(message);
输出:
顺便说一句,如果您在数据源上启用了分页,则您的函数将仅包含那么多的记录。禁用分页或使用var records = app.models.myModel.newQuery().run()
加载记录服务器端。您还可以通过常规查询过滤器过滤返回的记录。