本文简单介绍一下用 VBA 来批量生成 SQL。
在平常工作中,有可能遇到这样的场景,Excel 里面的 N 多个数据需要导入到数据库中,如果人工去拼接 SQL 会很麻烦,这时候写个简单的 VBA 函数就可以搞定了。
案例
假设我们有一个表,如下所示,需要导入到 MySQL 数据库中的一张表里面。
假设我们要执行的 SQL 是:
insert into vbaTable (name, age) values ('xxx', 10);
这时候使用 VBA 就可以很容易就做到
开发 VBA 函数
在 Excel 中点击宏,进行编码,代码如下所示:
Const startRow = 1
Const endRow = 26
Const startCol = 1
Const endCol = 2
Sub VBAdemo()
Set s = ThisWorkbook.Sheets("Sheet1")
For i = startRow To endRow Step 1
Dim strSql As String
strSql = "insert into vbaTable (name, age) values ('{1}', {2});"
For j = startCol To endCol Step 1
Dim value As String
value = Trim(s.Cells(i, j).Text)
strSql = Replace(strSql, "{" & j & "}", value)
Next
Debug.Print strSql
Next
End Sub
点击运行,即可得到结果