VB采用ADO方式操作EXCEL表格的操作步骤

2020/09/27 06:18

代码如下:操作 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'"

adoRecordset.Open "select * from [sheet1$]", adoConnection, adOpenKeyset, adLockOptimistic

Debug.Print adoRecordset.RecordCount

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表格的操作步骤”,希望大家有所收获。

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司