将电子表格导出到mySQL的Google Apps脚本可在多个文件上执行

时间:2014-10-15 19:36:57

标签: google-apps-script

嗨!

如何将所有Google电子表格的数据导出到MySQL,我有一个导出脚本的基础知识,但我的所有电子表格都有1,500多行,其中有41个,接下来我的问题是Can我一次在所有的电子表格文件上执行这些脚本,也许在一个文件夹中?因为我不喜欢拖着所有的41并为每个人分配一个脚本。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

  

如何将所有Google电子表格的数据导出到MySQL

有几种方法可以做到这一点。使用哪一个取决于您的MySQL实例的配置方式。

如果您的MySQL实例是已关闭的本地网络实例,则无法从本地网络外部连接到该实例,因此google apps脚本将无法连接到该实例。在这种情况下,您唯一的选择是将Google电子表格数据导出为CSV文件(即使用File-> Download as->逗号分隔值菜单),然后将这些数据导入MySQL数据库表。有关详细信息,请参阅Load Data Infile MySQL statement syntax

如果您的MySQL实例是面向公众的实例,可从本地网络外部访问,则可以使用Google Apps Script JDBC Service连接到MySQL实例并插入/更新Google的数据床单。有关设置数据库以便从Google Apps脚本进行连接的详细信息,请阅读Setup for other databases section of JDBC guide

  

我可以一次在所有电子表格文件上执行这些脚本,   也许在文件夹中?

在第二种情况下(面向公众的MySQL实例),你可以通过一些脚本来实现自动化。您可以使用一个脚本循环遍历给定文件夹中的所有电子表格(或电子表格ID列表,如果它们位于不同的文件夹中),并将每个数据库中的数据插入到MySQL数据库中。 Drive ServiceSpreadsheet Service将是您的朋友。但是,请记住,Google脚本的最长执行时间是10(?)分钟,因此如果您的工作表包含大量数据和/或您与数据库实例的连接速度很慢,则此类脚本可能会遇到超时。您可能必须在脚本中实现一些后退/恢复功能,以便它知道上次运行的完成位置并在下次运行时从那里获取。