代码如下:操作 book1.xls 的 sheet1 工作表,注意要写成 sheet1$ (加个美元符号)
Dim adoConnection As New ADODB.Connection
Dim adoRecordset As New ADODB.Recordset
'OLE DB + ODBC Driver 方式:
'adoConnection.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=cbook1.xls"
'Microsoft.Jet.OLEDB.4.0 方式,(建议)
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & _
"Data Source=c:book1.xls;Extended Properties='Excel 8.0;HDR=Yes'"
Dim i As Integer
Do Until adoRecordset.EOF
For i = 0 To adoRecordset.Fields.Count - 1
Debug.Print adoRecordset.Fields.Item(i).Name
Debug.Print adoRecordset.Fields.Item(i).Value
Next i
adoRecordset.MoveNext
Loop
构造ConnectionString时,OLEDB的提供者要选择MicrosoftJet4.0OLEDBProvider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*.xls,而不是*.mdb,如c:book1.xls最关键的一点是,还要设置扩展属性ExtendedProperties为"Excel8.0",否则,测试连接时会报告无法识别数据格式的错误。HDR是指明有没有标题头,默认就是"Yes",所以这里也可以不写
'注: OLE DB + ODBC Driver 方式不支持以下语句,但 Microsoft.Jet.OLEDB.4.0 方式支持!adoConnection.Execute "insert into [sheet1$](姓名) values(3)"adoRecordset.AddNew Array("姓名", "性别", "年龄", "地址"), Array(1, 2, 3, 4)
以上就是今天分享的“VB采用ADO方式操作EXCEL表格的操作步骤”,希望大家有所收获。