C# excel 2013的OLEDB连接字符串

C# excel 2013的OLEDB连接字符串,c#,connection-string,oledb,C#,Connection String,Oledb,我正在尝试将旧的连接字符串改编为excel 2013文件(.xlsx)的excel 2007文件 这是我的旧的: 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文件(.xlsx)的excel 2007文件

这是我的旧的:

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

关于新的我能做些什么?

你试过这个吗

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)

将数据视为文本

当您希望将文件中的所有数据视为文本时,请使用此选项,覆盖Excels列类型“General”,以猜测列中的数据类型

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文件可能工作正常的情况,因为文件的数据会导致驱动程序猜测一个数据类型,而另一个包含其他数据的文件会导致驱动程序猜测另一个数据类型。这可能会导致你的应用程序崩溃。

将此添加到你的书签中。你是否尝试使用当前书签?你有什么错误吗?我试过了,但有个错误,你的文件路径有空格吗?把数据源也放在引号里也许?您收到的错误是什么?这将给我们提供很多信息;区别是什么并不明显。通常情况下,代码旁边应该有一个(非常快速的)解释,例如“属性部分中包含了This has
'TypeGuessRows=0;ImportMixedTypes=Text'
”。