电子邮件HTML格式的App Maker导出数据库表

时间:2018-08-13 22:54:20

标签: google-app-maker

我一直在互联网上搜索一种通过HTML格式的电子邮件通过google app maker导出数据库表的方法。理想情况下,我正在寻找一种简单的解决方案,例如可以单击并确认的按钮。不一定要好看,而必须工作。

  • 请注意,这将在库存表中使用。

最好, 授予

1 个答案:

答案 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);

输出:

Some sample output

顺便说一句,如果您在数据源上启用了分页,则您的函数将仅包含那么多的记录。禁用分页或使用var records = app.models.myModel.newQuery().run()加载记录服务器端。您还可以通过常规查询过滤器过滤返回的记录。