在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连接字符串),以下是一行连接串源代码:
strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties=Excel 12.0"
这里的Provider使用了Microsoft.ACE.OLEDB.12.0,其实除了Microsoft.ACE.OLEDB.12.0,还有Microsoft.Jet.OLEDB.4.0,它们俩者之间有什么联系和区别呢:
共同点:都是做为连接Excel对象的接口引擎
不同点:
对于不同的Excel版本,有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。
Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。
ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。
另外:Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。
所以,在使用不同版本的office时,要注意使用合适的引擎。