在通過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時,要注意使用合適的引擎。