ACE OLEDB 12.0连接字符串(Excel 2007)[转]

Xlsx文件
    这是用来连接带Xlsx扩展名的Excel 2007文件。这是不带宏的Office Open XML格式。

以下是语法格式:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

   "HDR=yes;"是说第一行是列名而不是数据。"HDR=No;"正好与前面的相反。
把数据当做文本对待
   使用这条连接当你想把所有的数据都当做文本对待时,覆盖Excel通常的猜测这列的数据类型。 以下是语法格式:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";

   如果你想把列名也读到结果集中(使用“HDR=NO”尽管第一行是列名)并且列中的数据是数值型的,使用“IMEX=1”可必免冲突。
使用"IMEX=1"检索混合数据列是一种安全的方法。试想一下,当Driver检索出数据列中有一种数据类型的excel文件可以正常工作,而另一个excel文件(某列)被检测出两种类型,这会造成你的程序的冲突。
Xlsb文件
这是用来连接带Xlsb扩展名的Excel 2007文件。这是一种保存为二进制的Office Open XML格式。 不像Xlsx文件那种可读的文件格式。此种格式在数据量大时可以提升性能。 以下是语法格式:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyBinaryExcel2007file.xlsb;Extended Properties="Excel 12.0;HDR=YES";

   "HDR=yes;"是说第一行是列名而不是数据。"HDR=No;"正好与前面的相反。
Xlsm文件
这是用来连接带Xlsm扩展名的Excel 2007文件。这是带宏的Office Open XML格式。 以下是语法格式:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:myFoldermyExcel2007file.xlsm;Extended Properties="Excel 12.0 Macro;HDR=YES";

   注意:字符串中的引号"要用你的程序的语言的转义语法转义一下。
   在C#,C++中为 " ,   VB,VBScript为 ""
   XML(Web.config etc)   " , 或者可以使用单引号。

点赞

发表评论