如何将ms excel-2007与mysql连接。

如何将ms excel-2007与mysql连接。,mysql,excel,excel-2007,export-to-excel,vba,Mysql,Excel,Excel 2007,Export To Excel,Vba,如何将excel-2007与mysql连接。我在Windows7上,64位。使用excel-2007 32位和mysql版本5.1,32位。谁能帮我在excel文件中导入mysql表数据。提前感谢。要将excel-2007(或任何版本)与mysql连接,您需要ODBC驱动程序。请从经过身份验证的链接下载正确的ODBC驱动程序 请确保根据您的计算机位体系结构下载正确的.msi或zip文件。您需要确保Mysql在32位或64位上运行。请按此链接进行检查 现在,请确保您的excel-2007是32

如何将excel-2007与mysql连接。我在Windows7上,64位。使用excel-2007 32位和mysql版本5.1,32位。谁能帮我在excel文件中导入mysql表数据。提前感谢。

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

请确保根据您的计算机位体系结构下载正确的.msi或zip文件。您需要确保Mysql在32位或64位上运行。请按此链接进行检查

现在,请确保您的excel-2007是32位或64位。为此,请打开excel文件,启动任务管理器,并在“进程”选项下检查bit体系结构

在我的例子中,我使用的是windows7 64位,excel是32位,mysql也是32位

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

现在是非常重要的一步: 为了在64位Windows计算机上使用32位ODBC驱动程序,必须使用32位ODBC管理员对其进行配置,该管理员在普通Windows菜单选项中不可见。32位操作的实用程序位于C:\Windows\SysWOW64目录中。 我们需要将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;'!

现在为已安装的ODBC驱动程序设置了正确的路径,现在我们需要创建DSN(数据源名称),以便在excel和mysql之间进行链接。 现在打开“控制面板”,单击“管理工具”菜单项开始安装新的数据源。选择数据源ODBC,这是添加新用户数据源的位置。单击对话框右侧的“添加”按钮。 现在,按下“添加”按钮后,如果您能够在新的“创建数据源”窗口中看到已安装的驱动程序,请如下所示

那么,如果您遵循这个链接在excel和mysql之间建立链接,那就好了

如果找不到已安装的驱动程序,则“创建新数据源”的弹出窗口如下所示

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

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

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

现在单击add按钮并选择MySQL ODBC 5.3 ANSI驱动程序,单击finish

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.
单击测试,如果一切正常,则您会得到“连接成功”的确认

测试结束后,返回到第一个屏幕,在那里您应该看到您添加了一个MySQLExcel数据源名称。单击“确定”按钮取消确认测试

现在要设置从mysql到excel的数据导入,请打开excel,单击数据功能区。单击“从其他来源”按钮。在下拉菜单中,单击“来自数据连接向导”项目,启动数据连接向导

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

从OLE DB提供程序列表中选择用于ODBC驱动程序的Microsoft OLE DB提供程序项目。单击“下一步”按钮继续

在“数据链接属性”对话框中选择“连接”选项卡。在第#1项下,从下拉框中选择数据源名称(DSN)(在前面的语句中设置)。在第2项下,输入mysql的用户名和密码。在第3项下,选择数据库

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

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

选择表名并单击“下一步”按钮

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


现在按下ok按钮。您的mysql数据将保存在excel文件中。最后的响应是这样的。

我使用DAO在Excel(2007)和我的数据库(通常是MS Access)之间进行连接

为此,您需要:

将Microsoft DAO 3.6对象库添加到VBA项目引用(即工具─► 参考资料)

代码如下所示:

Sub MySub() 
  Set Db = OpenDatabase("C:\MyDB.mdb") 
  Set rst = Db.OpenRecordset(" SELECT * FROM MyTable") 
  ' output 
  Sheets.Add 
  With ActiveSheet.Cells(2, 1) 
     rec_QTY = .CopyFromRecordset(rst) 
  End With 
  rst.Close 
  Db.Close 
End Sub
或者,如果要执行特定命令:

Sub MySub_single_command()
  Set Db = OpenDatabase("C:\MyDB.mdb")
  Db.Execute (" DELETE * FROM MyTable;")
  Db.Close
End Sub
干杯,
迈克

我在@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

终端功能

这已通过MS Office 2010测试,也适用于更高版本。