从外部数据库自动加载 Google 电子表格数据

Posted

技术标签:

【中文标题】从外部数据库自动加载 Google 电子表格数据【英文标题】:Automate Google Spreadsheet data load from external database 【发布时间】:2015-06-17 20:39:11 【问题描述】:

我有一个共享的 Google 电子表格。工作表的某些列必须填充数据库服务器 (PostgreSQL) 中存在的数据(SQL 查询)。

此外,数据加载必须安排为自动完成(例如每天凌晨 1 点)。

最后我需要在电子表格中进行一些调整(例如在加载后将日期时间放在工作表的名称中或发送确认电子邮件等)

实现这一目标的最佳和最简单的方法是什么? (我开始寻找 Google 应用脚本和 Google Sheets API 但不确定哪个更合适)

谢谢

【问题讨论】:

【参考方案1】:

Apps Script 能够使用 Apps Script 的JDBC Service 连接到外部数据库。但是,正如here(阅读最后评论/帖子)所提到的,要从 PostgreSQL 数据库中读取应用脚本,您需要自己实现一个 API 层。

关于计划数据加载:这可以通过使用Time-Driven Triggers 来实现,Class ClockTriggerBuilder 也可能会有所帮助。

关于您希望实施的“调整”:Here 是一个教程,将向您展示如何使用 Apps 脚本发送电子邮件。根据您的用例和您正在考虑实施的内容,上述可安装触发器(使用与时间驱动触发器相同的链接)也可用于发送电子邮件确认以完成数据加载过程。 this 应该作为使用日期时间重命名工作表的良好参考。

因此,使用 Apps 脚本可以实现您计划做的事情,但在开始之前,我建议您彻底阅读 App Script Documentation。

【讨论】:

同意,Google 应用脚本看起来最简单。 Google Sheets API 也会这样做,但它是低级别的,因此需要更多的工作并且需要在您的服务器上运行。【参考方案2】:

我发现 Google Sheets 中的 JDBC 有很多问题,所以我构建了SeekWell,它可以让您自动将数据从 Postgres 发送到 Sheets,并且还可以将来自 Sheets 的更改同步回数据库。您可以安排每天、每小时或每五分钟刷新一次。

免责声明:这是我建造的。

【讨论】:

以上是关于从外部数据库自动加载 Google 电子表格数据的主要内容,如果未能解决你的问题,请参考以下文章

使用来自 bigquery 的数据自动更新 google 电子表格

从电子表格创建 Google 日历事件但防止重复

如何每月使用导入数据自动更新 Google 电子表格?

谷歌脚本从电子表格中获取 json 数据

如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

我可以通过自动电子邮件从 Google 表单/Google 表格发送多个上传的附件吗?