首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ms excel-2007与mysql连接起来。

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

Stack Overflow用户
提问于 2014-07-30 22:33:55
回答 3查看 11.1K关注 0票数 3

如何将excel-2007与mysql连接起来。我使用的是64位的windows7。使用excel-2007 32位和mysql 5.1,32位。谁能帮我把我的mysql表格数据导入到excel文件中?提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-04 16:46:53

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

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

代码语言:javascript
复制
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

End函数

票数 5
EN

Stack Overflow用户

发布于 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目录添加到系统路径中,如下所示

代码语言:javascript
复制
 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

代码语言:javascript
复制
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文件中。最终的响应如下所示。

票数 7
EN

Stack Overflow用户

发布于 2014-08-20 01:30:29

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

为此,您需要:

将Microsoft DAO 3.6对象库添加到您的VBAProject引用(即Tools─►引用)。

代码应该是这样的:

代码语言:javascript
复制
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

或者如果您想要执行特定的命令:

代码语言:javascript
复制
Sub MySub_single_command()
  Set Db = OpenDatabase("C:\MyDB.mdb")
  Db.Execute (" DELETE * FROM MyTable;")
  Db.Close
End Sub

干杯,迈克

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25039573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档