适用于 Excel 2013 的 OLEDB 连接字符串

本文关键字:连接 字符串 OLEDB Excel 2013 适用于 | 更新日期: 2023-09-27 18:31:02

我正在尝试将旧的连接字符串调整为 excel 2007 文件的 excel 2013 文件 (.xlsx)

这是我的旧版本:

strConnectionString = string.Format(
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};" + 
    "Extended Properties='"Excel 12.0 Xml;HDR=YES;IMEX=1'";", 
    strFile);

对于新的,我该怎么办?

适用于 Excel 2013 的 OLEDB 连接字符串

你试过这个吗...

string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=Yes;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text'", arq)

将数据视为文本

如果要将文件中的所有数据视为文本,覆盖Excel列类型"常规"以猜测列中的数据类型,请使用此选项。

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

如果要将列标题读入结果集(即使有标题,也使用 HDR=NO),并且列数据是数字,请使用 IMEX=1 以避免崩溃。

始终使用 IMEX=1 是检索混合数据列数据的更安全的方法。请考虑一个 Excel 文件可能工作正常的情况,因为该文件的数据导致驱动程序猜测一种数据类型,而另一个包含其他数据的文件导致驱动程序猜测另一种数据类型。这可能会导致应用崩溃。