xlsx文件:
这是用来连接带Xlsx扩展名的Excel 2007文件。这是不带宏的Office Open XML格式。以下是语法格式:
Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0Xml;HDR=Yes";
"HDR=Yes"是说第一行是列名而不是数据,"HDR=No"正好与前面的相反,系统默认的是Yes。
把数据当做文本对待:
使用这条连接当你想把所有的数据都当做文本对待时,覆盖Excel通常得猜测这列的数据类型。
以下是语法格式:
Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0Xml;HDR=YES;IMEX=1";
如果你想把列名也读到结果集中(使用“HDR=No”尽管第一行是列名)并且列中的数据是数值型的,使用“IMEX=1”可必免冲突。使用"IMEX=1"检索混合数据列是一种安全的方法。试想一下,当Driver检索出数据列中有一种数据类型的Excel文件可以正常工作,而另一个Excel文件(某列)被检测出两种类型,这会造成你的程序的冲突。
xlsb文件:
这是用来连接带xlsb扩展名的Excel 2007文件。这是一种保存为二进制的Office OpenXML格式。不像xlsx文件那种可读的文件格式。此种格式在数据量大时可以提升性能。以下是语法格式:
Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\myFolder\myBinaryExcel2007file.xlsb;Extended Properties="Excel12.0;HDR=YES";
"HDR=yes"是说第一行是列名而不是数据,"HDR=No"正好与前面的相反。
xlsm文件:
这是用来连接带xlsm扩展名的Excel 2007文件。这是带宏的Office Open XML格式。
以下是语法格式:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsm;ExtendedProperties="Excel 12.0 Macro;HDR=YES";
注意:字符串中的引号"要用你的程序的语言的转义语法转义一下。在C#,C++中为\",VB,VBScript为"",或者可以使用单引号。
最后,在导入Excel的时候如果出现“找不到可安装的ISAM”的提示,就得重新注册一下ExcelISAM,具体解决步骤如下:
在“运行”对话框中输入以下内容:Regsvr32 c:\WINDOWS\system32\msexcl40.dll 然后回车确定,在导入的时候就不会出现"找不到可安装的ISAM"这样子的提示了。
对照英文 http://www.connectionstrings.com/excel-2007/