1、数据引擎类型
有两种接口可供选择: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 是不可以的。
附:Microsoft.ACE.OLEDB.12.0 安装文件下载地址是:
https://www.microsoft.com/zh-cn/download/details.aspx?id=23734
https://www.microsoft.com/zh-cn/download/details.aspx?id=13255
2、ADO访问Excel数据驱动连接字符串的写法:
//Excel2003
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ Excel_FILENAME +';Extended Properties=Excel 8.0; HDR=Yes; IMEX=1';
//Excel2003 和 Excel2007,前提是需要安装Office 2007的ACE引擎驱动
ConnectionString := 'Provider=Microsoft.Ace.OleDb.12.0; Data Source='+ Excel_FILENAME +';Extended Properties=''Excel 12.0; HDR=Yes'''; //IMEX=1
3、微软的安装说明
若要使用此下载,请执行以下操作:
- 如果您是应用程序用户,请查阅您的应用程序文档,了解有关如何使用相应驱动程序的详细信息。
- 如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0”。
如果要连接到 Microsoft Office Excel 数据,请根据 Excel 文件类型添加相应的 OLEDB 连接字符串扩展属性:
文件类型(扩展名) 扩展属性
---------------------------------------------------------------------------------------------
Excel 97-2003 工作簿 (.xls) “Excel 8.0”
Excel 2007-2010 工作簿 (.xlsx) “Excel 12.0 Xml”
启用宏的 Excel 2007-2010 工作簿 (.xlsm) “Excel 12.0 宏”
Excel 2007-2010 非 XML 二进制工作簿 (.xlsb) “Excel 12.0”
- 如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
- 如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”