VB采用ADO的方式操作Excel表格

使用VB配搭着ADO可以像操纵Access数据文件一样操作Excel文件,对于如何用ADO操作Excel文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表的列了。

代码如下:操作 book1.xls 的 sheet1 工作表,注意要写成 sheet1$ (加个美元符号)

构造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)

对Excel表格执行增、删、改记录就这么简单,VB对所有列应该都当是字符类型对待,另外注意表格不规整的情况。Unmi主要是因为看过有人在用VB操纵Excel文件是,先把Excel转到Access来操作,完了之后再转回成Excel格式,其完全是多些一举,所以到网上搜集了几篇整理了出来,更详细的内容请参考底下文档链接。

参考文档:1. 在DELPHI中使用ADO直接访问Excel数据文件
     2. 问专家:能否用VB的ADO的方法访问Excel文件
     3. 在 Visual Basic 或 VBA 中使用 ADO 来处理 Excel 数据 (这里有比较详细的解说)

本文链接 https://yanbin.blog/vb-ado-access-excel/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

1 Comment
Inline Feedbacks
View all comments