1. MySQL for Excel
MySQL 官网上有专门的 Excel 连接 MySQL 数据库的工具,下载连接为:
https://dev.mysql.com/downloads/windows/excel/
注意需要下载跟 Excel 位数一致的版本,安装完成后 Excel 中会多出一个 “MySQL for Excel” 选项
点击 “MySQL for Excel” 选项,可以连接并查看数据库的所有表
2. VBA 连接数据库
官方文档:
https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-examples-programming-vb-ado.html
代码总结:
Sub TestConnectTodb()
Dim sht1 As Worksheet
Set sht1 = Worksheets("Sheet1")
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Port=3306;Database=test;Uid=root;Pwd=123456;OPTION=3;"
conn.Open
rs.Open "select * from test", conn
With sht1
.Visible = True
.Range("A1").CopyFromRecordset rs
End With
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
MsgBox "处理完毕"
End Sub
在这里遇到一个卡了好久的问题,那就是数据库数据格式的问题,用 pandas 直接向MySQL数据库导入数据时,数据库的数据格式为 “text”,这种格式的数据是无法直接导入Excel,导入时没有报错,只是没有数据。遇到这种情况,需要先把数据库的数据格式改为 “varchar”、“bigint”、“decimal” 等格式