如何连接ms excel-2007与MySQL。

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

我join@Anil查哈尔答案:

在按照@Anil Chahal所述进行configuration之后,可以使用以下代码从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 

结束function

要连接你的excel-2007(或任何版本)与你的mysql你需要ODBC驱动程序。 请从authentication的链接下载正确的ODBC驱动程序

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

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

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

之后请确保您的excel-2007是32位或64位。 对于这个打开的Excel文件,并启动任务pipe理器,并检查您的位架构下的进程选项。 在这里输入图像描述

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

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

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

现在非常重要的一步:为了在64位Windows机器上使用32位ODBC驱动程序,必须使用通过正常的Windows菜单选项不可见的32位ODBCpipe理员进行configuration。 在C:\ Windows \ SysWOW64目录中find用于32位操作的实用程序。 我们需要将SysWOW64目录添加到系统path,如下所示

  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;'! 

在这里输入图像说明

截至目前正确的path是为已安装的ODBC驱动程序设置的,现在我们需要创build用于链接Excel和MySQL的DSN(数据源名称)。 现在打开控制面板,点击pipe理工具菜单项开始安装新的数据源。 select数据源ODBC,这是您添加一个新的用户数据源的地方。 点击对话框右边的添加button。 现在按下添加button,如果你能看到你的安装驱动程序在新build数据源popup像这样 在这里输入图像说明

那么它的好处,如果你按照这个链接的Excel和MySQL之间的联系。

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

如果您无法find您安装的驱动程序,并popup“新build数据源”窗口,如下所示

在这里输入图像说明

如果您安装的驱动程序没有在那里列出,不必惊慌。 访问位于'C:\ Windows \ SysWOW64 \ odbcad32.exe'的ODBCpipe理员实用程序。

在“C:\ Windows \ SysWOW64”目录中searchodbcad32.exe

在这里输入图像说明

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

在这里输入图像说明

现在点击添加button并selectMySQL ODBC 5.3 ANSI Driver,点击完成

 In pop up window enter your details eg Data Source Name = MySQLExcel Description = MySQL Excel Connector/ODBC Server = localhost Username and password of mysql, and name of the database. 

点击testing,如果一切正常,那么你有一个确认“连接成功” 在这里输入图像说明

testing完成后,您将返回到第一个屏幕,您将看到添加了MySQLExcel数据源名称。 点击确定button来解除对testing的肯定。

现在设置从mysql导入excel的数据,打开excel,点击Data Ribbon。 点击From Other Sourcesbutton。 在下拉菜单中,单击启动数据连接向导的“从数据连接向导”项目。

从数据源列表中select其他/高级项目。 点击下一步button继续。

从OLE DB提供程序的列表中selectMicrosoft OLE DB提供程序的ODBC驱动程序项目。 点击下一步button继续。

在数据链接属性对话框中select连接选项卡。 在项目#1下,从下拉框中select数据源名称(DSN)(在前面的语句中设置)。 在项目#2下,inputmysql的用户名和密码。 在项目#3下,select数据库。 在这里输入图像说明

点击testing连接,确保一切正常。

在这里输入图像说明

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

select表名并点击下一步button

在这里输入图像说明

现在点击完成button。 数据导入向导完成了最后一步。 现在,您必须将数据导入到现有的工作表或新的工作表中。

在这里输入图像说明

现在按确定button。 你的mysql数据将会出现在excel文件中。 最终的回应是这样的。 在这里输入图像说明

我使用DAO来连接Excel(2007)和我的数据库(通常是MS Access)。

要做到这一点,你需要:

将Microsoft DAO 3.6对象库添加到您的VBAProject引用(即工具??参考)。

代码看起来像这样:

 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 

欢呼,迈克