如何使用mysql连接ms excel-2007.

Ani*_*hal 2 mysql excel vba excel-2007 excel-vba export-to-excel

如何将excel-2007与mysql连接起来.我在Windows 7,64位.使用excel-2007 32位和mysql 5.1版,32位.任何人都可以帮我如何在excel文件中导入我的mysql表数据.提前致谢.

Ani*_*hal 7

要将您的excel-2007(或任何版本)与您的mysql连接,您需要ODBC驱动程序.请从经过身份验证的链接下载正确的ODBC驱动程序

http://dev.mysql.com/downloads/connector/odbc/

请确保根据您的计算机位架构下载正确的.msi或zip文件.您需要确保您的Mysql在32位或64位上运行.请点击此链接查看

MySQL:检查什么版本:32位还是64位?

在此之后,请确保您的excel-2007是32位或64位.对于此打开的excel文件,启动任务管理器并检查"进程"选项下的位体系结构.在此输入图像描述

在我的情况下,我使用的是Windows7 64位,excel是32位,mysql也是32位

所以我从这个链接下载了Windows(x86,32位),MSI安装程序

http://dev.mysql.com/downloads/connector/odbc/

现在非常重要的一步:为了在64位Windows机器上使用32位ODBC驱动程序,必须使用32位ODBC管理器进行配置,这是通过正常的Windows菜单选项看不到的.可以在C:\ Windows\SysWOW64目录中找到32位操作的实用程序.我们需要将SysWOW64目录添加到系统路径,如下所示

 1. Click on start menu, right Click on My Computer -> Properties -> Advanced system settings
 2. Choose Advanced Tab -> Environmental Variables -> System Variables 
 3. Select and edit the PATH variable. Prefix the PATH list with 'C:\Windows\SysWOW64;'!
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

截至目前为已安装的ODBC驱动程序设置了正确的路径,现在我们需要创建用于在excel和mysql之间进行链接的DSN(数据源名称).现在打开"控制面板"并单击"管理工具"菜单项以开始安装新数据源.选择"数据源ODBC",这是添加新用户数据源的位置.单击对话框右侧的"添加"按钮.现在按下"添加"按钮后,如果能够看到"新建创建数据源"中的"已安装驱动程序",则会弹出如下所示在此输入图像描述

如果你按照这个链接进行excel和mysql之间的链接,那么它很好.

http://blog.mclaughlinsoftware.com/microsoft-excel/accessing-to-mysql/

如果您无法找到已安装的驱动程序,则新建数据源的弹出窗口如下所示

在此输入图像描述

如果您安装的驱动程序没有列在那里,请不要惊慌.访问位于"C:\ Windows\SysWOW64\odbcad32.exe"的ODBC管理员实用程序.

在"C:\ Windows\SysWOW64"目录中搜索odbcad32.exe

在此输入图像描述

现在双击搜索结果"odbcad32"的第二个选项

在此输入图像描述

现在单击"添加"按钮并选择"MySQL ODBC 5.3 ANSI驱动程序",单击"完成"

In pop up window enter your details e.g. Data Source Name = MySQLExcel
Description = MySQL Excel Connector/ODBC
Server = localhost
Username and password of mysql, and name of the database.
Run Code Online (Sandbox Code Playgroud)

点击测试,如果一切正常,那么你得到一个确认"连接成功"在此输入图像描述

测试后,您将返回到第一个屏幕,您应该看到已添加MySQLExcel数据源名称.单击"确定"按钮以取消对测试的肯定.

现在要设置从mysql导入到excel的数据,打开excel,单击Data Ribbon.单击"从其他来源"按钮.在下拉菜单中,单击"从数据连接向导"项,该项将启动"数据连接向导".

从数据源列表中选择"其他/高级"项.单击"下一步"按钮继续.

从OLE DB提供程序列表中选择Microsoft OLE DB Provider for ODBC Drivers项.单击"下一步"按钮继续.

在"数据链接属性"对话框中选择"连接"选项卡 在项目#1下,从下拉框中选择数据源名称(DSN)(在上一个语句中设置).在项目#2下,输入mysql的用户名和密码.在项目#3下,选择数据库.在此输入图像描述

单击测试连接以确保一切正常.

在此输入图像描述

然后,单击"数据链接属性"对话框上的"确定"按钮.

选择表名称,然后单击下一步按钮

在此输入图像描述

现在点击完成按钮.数据导入向导已完成最后一步.现在,您必须将数据导入现有工作表或新工作表.

在此输入图像描述

现在按确定按钮.你的mysql数据将在excel文件中.最终回复看起来像这样.在此输入图像描述


asi*_*sif 5

我正在添加@Anil Chahal 的回答:

按照@Anil Chahal 的描述进行配置后,可以使用以下代码将数据从 MySql 提取到 Excel 中。

Function runQuery()
Dim cn As Object
Dim rs As Object
Dim strSql As String
Dim strConnection As String

Set cn = CreateObject("ADODB.Connection")

'Set your DB particulars
strConnection = "Data Source=MySQLExcel;Driver={MySQL ODBC 5.5.25a Driver};Server=" & _
                "localhost" & ";Database=" & "your-db-name" & _
                ";Uid=" & "your-user-name" & ";Pwd=" & "your-password" & ";"

    cn.Open strConnection
'Set your MySql query, i used "Select" query
    strSql = "SELECT * from Table-Name;"

    Set rs = cn.Execute(strSql)

'In case of "Select query" set your range to show records
'In case of "insert/edit/delete query" exclude next two lines
    Worksheets("SearchResults").Range("a4:xfd1048576").ClearContents
    Range("b4").CopyFromRecordset rs

'close the connection
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
Run Code Online (Sandbox Code Playgroud)

结束函数