excel通过ODBC连接Mysql数据库

时间:2021-12-06 21:52:45

即使当今时代我们拥有了类似微软水晶报表之类的强大报表工具和其他一些灵活的客户管理应用工具,众多企业在分析诸如销售统计和收入信息的时候,微软的Excel依然是最常用的工具。这当然不是没有理由的:Excel以其强大丰富的各种功能,已经成为办公环境中不可或缺的工具。

然而,现在公司正在逐渐地将数据开始存储在远程数据库中,这样可以供企业员工从不同的地方来阅读和修改数据。但是,以前固有的工作流程习惯是很难打破的。当你的老板需要从远端使用Excel以饼图的形势来看一下最近的销售数据的时候,你该怎么办?

或许你没有想到,你可以将Excel连接到一个数据库,而且不仅仅限于微软的SQL Server。实际上Excel可以连接到所有的主流数据库,诸如MySQL、PostgreSQL和Oracle等等,只要该数据库提供ODBC驱动就可以。在本文中,我们将以MySQL为例,来了解如何将Excel连接到MySQL。

安装MyODBC?

ODBC提供了一种执行几乎所有常规任务的标准方式,诸如数据恢复、删除和选择,这意味着针对不同的数据库,要编写不同的驱动程序来将用户的命令解释成标准的ODBC标准。MySQL早就有一个特定的ODBC驱动可用,也就是我们所熟知的MyODBC。在每一台你想使用Excel连接到MySQL的计算机上,你都需要安装MyODBC驱动。

那么,现在首先来下载MyODBC安装程序(http://dev.mysql.com/downloads/connector/odbc)。该安装包只有2.3M,如果你是宽带连接的话,下载应该很快就完成。?

一旦你完成下载MyODBC后,点击图标开始安装。如果你没有特殊的安装要求,选择典型安装即可。点击安装按钮开始安装,安装完成后点击完成按钮推出安装程序。

配置MyODBC?

如果你的操作系统是Windows XP的话,你可以按照如下方式打开ODBC终端:开始菜单->设置->控制面板->管理工具->数据源(ODBC)。

excel通过ODBC连接Mysql数据库

点击“Add(增加)”按钮来增加一个新的数据源,并滚动滑动条直到你发现MySQL ODBC驱动项为止。双击该项,开始配置过程。配置窗口如下图所示。

excel通过ODBC连接Mysql数据库

填上各个选项后,点击“Test(测试)”按钮,确认该驱动是否能够与MySQL进行连接。如果你的数据库服务器与Excel在同一台机器的话,使用“localhost”或“127.0.0.1”作为服务器地址的话,有可能不会生效。那么,你可以使用一个点作为服务器地址,这样该驱动使用命名通道而不是TCP/IP来连接数据库。如果你要连接到远端的数据库,那么别忘了确保防火墙是否阻挡了你与MySQL连接的端口(通常是3306)。最后,不要忘了使用一个现有的合法登录帐号。如果你需要做的不仅仅是读取数据,还需要插入和更新数据,那么要注意登录的帐号要具有相应的权限。?

一旦测试连接成功后,点击“OK(确认)”按钮,就将在已存在的数据源列表中多一条。接下来,我们将连接Excel到MySQL。

连接Excel到MySQL?

为了做这个练习,我们将连接Excel到一个名为contacts的MySQL表,其中包含全国范围内的不同合作伙伴和相关个人的联系信息。该MySQL表结构如下:

excel通过ODBC连接Mysql数据库

我已经在这些表中填充了一些示例数据,你将不久在Excel中看到它们。为了从Excel中管理这些数据,按如下操作:

1、打开Excel,转到菜单上的“数据”,然后选择导入外部数据,导入数据。?

2、从出现的窗口中,选择“连接到新数据源.odc”。?

3、一个标题为“欢迎使用数据连接向导”的窗口出现,从这个窗口中选择“ODBC DSN”。?

4、从标题为“连接到ODBC数据源”的窗口中,选择你刚才创建的MySQL ODBC数据源。

5、从标题为“选择数据库和表”的窗口中,选择相应的你要连接的数据库和表,如图3所示,选择好表后,点击下一步。

6、在标题为“保存数据连接文件并结束”的最后一个窗口中,选择结束按钮。?

7、你将被询问在什么地方存储这个数据,你可以选择一个已有的工作表或者指定创建一个新的工作表中。选择后点击确认(OK)按钮。

excel通过ODBC连接Mysql数据库

如果一切顺利的话,你所需要的信息将会显示在Excel中,如图4所示。

excel通过ODBC连接Mysql数据库

这样,用户就可以开始*的创建各种图表了。例如,创建一个饼图是小菜一碟的事情,如图5所示。

excel通过ODBC连接Mysql数据库

如果你需要的数据跨表的话,你可以尝试在数据库建立一个视图,然后使用Excel连接该视图。?

MySQL的MyODBC驱动为客户将数据库连接到不同的客户端应用程序敞开了一扇大门。我希望这篇短文能让你举一反三,实现类似的操作。