VB采用ADO方式操作EXCEL表格的操作步骤
使用VB配搭着ADO可以像操纵Access数据文件一样操作Excel文件,对于如何用ADO操作Excel文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表的列了。
代码如下:操作 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=c\book1.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时,OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider作为ADO的驱动程序。这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件。
连接的数据库名称当然就是你要打开的Excel文件,注意扩展名是*.xls,而不是*.mdb,如c:\book1.xls
最关键的一点是,还要设置扩展属性Extended Properties为"Excel 8.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表格的操作步骤”,希望大家有所收获。
需要保留本文链接地址:http://www.excelxx.com/jiqiao/11589.html