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

标签 mysql google-apps-script google-sheets

嘿!

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

提前致谢:)

最佳答案

How can I export all of the Google Spreadsheet's data to a MySQL

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

如果您的 MySQL 实例是仅封闭的本地网络实例,那么您无法从本地网络外部连接到它,因此 google apps 脚本将无法连接到它。在这种情况下,您唯一的选择是将 Google 电子表格数据导出为 CSV 文件(即使用"file"->“下载为”->“逗号分隔值”菜单),然后将它们导入到 MySQL 数据库表中。请参阅Load Data Infile MySQL statement syntax了解详情。

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

Can I execute these scripts on all of the Spreadsheet Files at once, perhaps in a folder?

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

关于mysql - 将电子表格导出到 mySQL 的 Google Apps 脚本在多个文件上执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26390687/

相关文章:

php - 如何根据其他表列的 SUM 结果更新列?

python - 为什么mysql connector break ("Lost connection to MySQL server during query"错误)

google-apps-script - 部署为网络应用程序的Google Apps脚本的身份验证问题

javascript - "Document is missing (perhaps it was deleted?)"引用刚刚创建的文档

regex - 为什么 REGEXEXTRACT 在预期返回 1 行和多列的数组时返回单个值?

mysql - Symfony 2/Doctrine 2,带 BIT_AND 运算符的 ORDER BY

mysql - 无法登录MySQL

javascript - Google Sheets v4 更新效果 JSON 端点数据? 2021 年 6 月 8 日关闭

java - Google 电子表格 API,400 错误错误请求 : unable to parse range

arrays - 在 Google 脚本中使用多维数组