App Maker 以电子邮件 HTML 格式导出数据库 Table

App Maker Export Database Table in an Email HTML Format

我一直在整个 Internet 上搜索以 HTML 格式通过电子邮件在 google 应用程序制造商中导出数据库 table 的方法。理想情况下,我正在寻找一个简单的解决方案,例如您可以单击并确认的按钮。不一定要好看只需要好用

最好, 格兰特

您必须自己格式化 HTML table,然后使用 htmlBody 参数使用 MailApp.sendEmail() 函数。

可以编写一些通用函数,它接受记录数组和 header 数组(或模型 object)并生成 HTML table .我没有写过这样的函数,但下面是一个生成 HTML table 并通过电子邮件发送的快速而肮脏的示例。

您最好将一些事件附加到导出按钮,该按钮将 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() 加载记录服务器端。您也可以通过普通的查询过滤器来过滤返回的记录。