在VB中对Excel数据进行提取的一种常见的方法是使用ADO(ActiveX Data Objects)连接到Excel工作簿并执行SQL查询。以下是一个示例代码,演示如何从Excel工作簿中提取数据:
Sub ExtractDataFromExcel()
Dim conn As Object
Dim rs As Object
Dim strConn As String
Dim strSQL As String
Dim i As Integer
'创建ADO连接
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
'连接到Excel工作簿
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\your\excel\file.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;"";"
conn.Open strConn
'执行SQL查询
strSQL = "SELECT * FROM [Sheet1$]"
rs.Open strSQL, conn
'提取数据并输出到Immediate窗口
Do While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
Debug.Print rs.Fields(i).Value
Next i
rs.MoveNext
Loop
'关闭连接
rs.Close
conn.Close
'释放对象
Set rs = Nothing
Set conn = Nothing
End Sub
在上面的代码中,我们首先创建了一个ADO连接对象和一个记录集对象。然后,我们使用CreateObject
方法创建了一个ADO连接对象并连接到Excel工作簿。接下来,我们执行了一个SQL查询来选择工作簿中的所有数据。最后,我们使用Do While
循环来遍历记录集中的数据,并输出到Immediate窗口。
请注意,您需要将C:\path\to\your\excel\file.xlsx
替换为您实际的Excel文件路径。您还需要根据实际情况修改SQL查询语句,以选择您需要提取的特定数据。