如何将excel-2007与mysql连接起来。我使用的是64位的windows7。使用excel-2007 32位和mysql 5.1,32位。谁能帮我把我的mysql表格数据导入到excel文件中?提前谢谢。
发布于 2015-06-04 16:46:53
我正在添加@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 = NothingEnd函数
发布于 2014-07-30 22:36:21
要连接您的excel-2007 (或任何版本)与您的mysql,您需要ODBC驱动程序。请从已验证的链接下载正确的ODBC驱动程序
http://dev.mysql.com/downloads/connector/odbc/
请确保根据您的计算机位体系结构下载正确的.msi或zip文件。您需要确保您的Mysql在32位或64位上运行。请点击此链接查看
MySQL: check what version : 32 bit or 64 bit?
现在,请确保您的excel-2007是32位或64位。打开excel文件,启动任务管理器,检查进程选项下的bit架构。

在我的例子中,我使用的是64位windows7,excel是32位,mysql也是32位。
所以我从这个链接下载了Windows (x86,32位),MSI安装程序
http://dev.mysql.com/downloads/connector/odbc/
现在非常重要的一步:为了在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,这是您添加新用户数据源的位置。单击对话框右侧的添加按钮。现在,在按下add按钮后,如果您能够在New Create Data Source弹出窗口中看到已安装的驱动程序,则如下所示

如果你使用这个链接来连接excel和mysql,那就更好了。
http://blog.mclaughlinsoftware.com/microsoft-excel/accessing-to-mysql/
如果您找不到已安装的驱动程序和新建的弹出窗口,则创建数据源如下所示

如果您安装的驱动程序未在此处列出,则不必惊慌。访问位于'C:\Windows\SysWOW64\odbcad32.exe‘的ODBC管理员实用程序。
在“C:\Windows\SysWOW64”目录中搜索odbcad32.exe

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

现在点击add按钮并选择MySQL ODBC 5.3 ANSI Driver,点击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.如果一切正常,则单击Test,然后您将得到确认消息"Connection Successful“

测试之后,您将返回到第一个屏幕,在该屏幕上,您应该看到已经添加了一个MySQLExcel数据源名称。单击OK按钮取消测试的确认。
现在,要设置从mysql导入到excel的数据,请打开excel,单击数据功能区。单击“从其他来源”按钮。在下拉菜单中,单击From Data Connection Wizard项,这将启动Data Connection Wizard。
从数据源列表中选择其他/高级项。单击下一步按钮继续。
从OLE DB访问接口列表中选择Microsoft OLE DB Provider for ODBC Drivers项。单击下一步按钮继续。
在数据链接属性对话框中选择连接选项卡。在第1项下,从下拉框中选择数据源名称(DSN) (在上一条语句中设置)。在第2项下,输入mysql的用户名和密码。在第3项下,选择数据库。

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

然后,单击数据链接属性对话框上的确定按钮。
选择表名并单击next按钮

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

现在按ok按钮。您的mysql数据将在那里的excel文件中。最终的响应如下所示。

发布于 2014-08-20 01:30:29
我使用DAO在Excel (2007)和我的数据库(通常是MS Access)之间进行连接。
为此,您需要:
将Microsoft DAO 3.6对象库添加到您的VBAProject引用(即Tools─►引用)。
代码应该是这样的:
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干杯,迈克
https://stackoverflow.com/questions/25039573
复制相似问题