【问题标题】:Can MS Excel 2003 be used to //edit// a MySQL database?MS Excel 2003 可以用于//编辑// MySQL 数据库吗?
【发布时间】:2009-12-31 00:16:28
【问题描述】:

有谁知道让 Excel 2003 将更改推送到 MySQL 数据库的方法?

目前,我们正在使用 Excel 2003 来跟踪一大堆相互连接的设备(实际上是一个完整的配电系统,其中包含所有挂在它上面的 hoo-ha。)坦率地说,为此使用了电子表格很烂,我已经厌倦了,所以我想把它转换成像 MySQL 这样的真实数据库。

问题是:

  • 使用它的人并不过分精通计算机。使用 Excel 编辑 MySQL 数据库可以让他们免于学习新知识的痛苦。
  • 我们没有 MS Access 的许可证,或者我会使用它。
  • 我没有时间推出自己的自定义应用程序。

我已经获取并安装了 MySQL ODBC 驱动程序,将数据从 MySQL 导入到 Excel 是轻而易举的事;但是没有明显的方法可以逆转,并将 Excel 中的更改推送回 MySQL。

【问题讨论】:

  • 我相信你可以。我会尝试创建一个以编程方式打开 ODBC 连接的 VB 宏,然后简单地遍历工作表中感兴趣的区域,生成 SQL 语句,并让那些由 ODBC 驱动程序执行。当然,必须有触发宏的东西,我怀疑你能否获得接近实时的 cell-edit-immediately-saved-to-mysql foo。对于宏+ODBC 示例,这可能很有用:en.allexperts.com/q/Excel-1059/2008/6/Excel-VBA-Macro-ODBC.htm

标签: mysql excel odbc


【解决方案1】:

这里有(至少)两种可能的方法。

使用 MySQL 数据库,并按照您的建议使用 ODBC 驱动程序更新数据库。使用 ActiveX 数据对象 (ADO) 可以让您完成此任务。详情见here

或者,您可以创建一个 Microsoft JET 数据库并使用它来代替 MySQL。这可以使用 ADOX 创建数据库来完成 - 请参阅 here - 然后使用 ADO 来更新它。

ADO 和 ADOX 都可以在我的标准 Office 2003 安装(不包括 Access)中使用,因此希望您的系统也可以使用它们。

如果这些不可用,作为后备,您可以查看数据访问对象 (DAO) - ADO 的前身 - 但 ADO 对我来说似乎更容易使用。 DAO 详情here

【讨论】:

  • 快速浏览一下这些链接,ADO 似乎是适合这项工作的工具。我们开始吧!
【解决方案2】:

@Roland Bourman 的评论(这本身就是一个答案)是一种非常有趣的方法。如果您不是 VB 专家,您甚至可以在脚本级别在 Excel 之外进行拉/推,在打开 Excel(简单)之前将数据从 mySQL 拉到 Excel 工作表中,并在关闭后将其写回。这可以使用多种工具来完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2020-06-08
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多