excel自动匹配mysql数据库

更新时间:02-10 教程 由 忘爱。 分享

Excel是一个非常强大的电子表格处理工具,而MySQL是一个高性能的开源关系数据库管理系统。

当我们需要把Excel中的数据与MySQL数据库中的数据进行匹配时,可以用以下方法:

Sub MatchData()' 定义Excel对象Dim excelApp As Excel.ApplicationDim mainWorkbook As WorkbookSet excelApp = CreateObject("Excel.Application")' 定义MySQL连接对象Dim conn As ADODB.ConnectionSet conn = CreateObject("ADODB.Connection")' 定义MySQL记录集对象Dim rst As ADODB.RecordsetSet rst = CreateObject("ADODB.Recordset")' 打开Excel文件Set mainWorkbook = excelApp.Workbooks.Open("C:\matchdata.xlsx")' 连接MySQL数据库conn.Open "Provider=MSDASQL;DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=mydb;UID=root;PWD=password"' 准备执行SQL语句Dim sql As Stringsql = "SELECT `id`, `name`, `tel` FROM `mytable`"rst.Open sql, conn, adOpenStatic, adLockOptimistic' 遍历Excel中的数据For i = 1 To mainWorkbook.Sheets(1).UsedRange.Rows.CountDim name As StringDim tel As Stringname = mainWorkbook.Sheets(1).Cells(i, 1).Valuetel = mainWorkbook.Sheets(1).Cells(i, 2).Value' 查找匹配的MySQL记录rst.MoveFirstWhile Not rst.EOFIf rst.Fields("name").Value = name And rst.Fields("tel").Value = tel Then' 找到匹配的记录,更新Excel中的数据mainWorkbook.Sheets(1).Cells(i, 3).Value = rst.Fields("id").ValueExit WhileEnd Ifrst.MoveNextWendNext' 关闭所有对象rst.Closeconn.ClosemainWorkbook.Close SaveChanges:=TrueexcelApp.QuitSet rst = NothingSet conn = NothingSet mainWorkbook = NothingSet excelApp = NothingEnd Sub

上面的VBA代码可以实现把Excel中的姓名和电话号码与MySQL数据库中的姓名和电话号码进行匹配,找到匹配的记录后将MySQL的id记录到Excel中。

当然,前提是必须先安装MySQL ODBC驱动程序才能连接MySQL数据库,另外需要修改连接字符串中的服务器名、数据库名、用户名和密码等参数。

声明:关于《excel自动匹配mysql数据库》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2074407.html