Excel VBA - 如何从 SQL 查询填充数组

作者:编程家 分类: sqlserver 时间:2025-08-31

使用Excel VBA可以很方便地从SQL查询中填充数组。这对于需要将数据库中的数据导入到Excel表格中进行处理和分析的用户来说非常有用。在本文中,我们将介绍如何使用Excel VBA从SQL查询中填充数组,并提供一个案例代码来帮助读者更好地理解。

案例代码:

下面是一个简单的案例代码,展示了如何使用Excel VBA从SQL查询中填充数组。

vba

Sub FillArrayFromSQLQuery()

Dim conn As Object

Dim rs As Object

Dim arrData() As Variant

Dim strSQL As String

Dim i As Long

' 创建连接对象

Set conn = CreateObject("ADODB.Connection")

' 设置连接字符串

conn.ConnectionString = "Provider=SQLOLEDB;Data Source=数据库服务器;Initial Catalog=数据库名称;User ID=用户名;Password=密码;"

' 打开连接

conn.Open

' 设置SQL查询语句

strSQL = "SELECT * FROM 表名;"

' 创建记录集对象

Set rs = CreateObject("ADODB.Recordset")

' 执行SQL查询

rs.Open strSQL, conn

' 将查询结果填充到数组中

arrData = rs.GetRows

' 关闭记录集

rs.Close

' 关闭连接

conn.Close

' 输出数组数据到Excel工作表

For i = 0 To UBound(arrData, 2)

Sheet1.Cells(1, i + 1).Value = arrData(0, i)

Next i

End Sub

在这个案例代码中,我们首先创建了一个连接对象,并设置了连接字符串。然后,我们打开连接,并设置了SQL查询语句。接下来,我们创建了一个记录集对象,并执行SQL查询。然后,我们使用`GetRows`方法将查询结果填充到数组中。最后,我们关闭了记录集和连接,并将数组数据输出到Excel工作表。

使用Excel VBA从SQL查询填充数组的优势

使用Excel VBA从SQL查询填充数组具有许多优势。首先,它可以提供一种灵活的方式来导入数据库中的数据,使用户可以轻松地在Excel中进行数据分析和处理。其次,通过使用VBA,用户可以自动化这个过程,节省了大量的时间和精力。此外,VBA还可以与其他Excel功能和宏一起使用,提供更多的数据处理和分析选项。

本文介绍了如何使用Excel VBA从SQL查询中填充数组,并提供了一个案例代码来帮助读者更好地理解。通过使用VBA,用户可以轻松地将数据库中的数据导入到Excel表格中,并进行进一步的数据处理和分析。我们希望本文对于需要在Excel中处理数据库数据的用户有所帮助。