Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法打开与Excel的连接:外部表的格式不是预期的格式_C#_Excel_Oledb - Fatal编程技术网

C# 无法打开与Excel的连接:外部表的格式不是预期的格式

C# 无法打开与Excel的连接:外部表的格式不是预期的格式,c#,excel,oledb,C#,Excel,Oledb,我正在尝试使用Oledb从excel中提取行。对于某些excel文件,某些人在尝试打开连接时抛出错误。错误显示“外部表不是预期的格式。” 这是我的连接字符串 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties="Excel 8.0;HDR=NO;IMEX=1" 我注意到的一件重要事情是,如果我保持文件打开,一切都会正常工作。由于文件是从第三方供应商处收到的,因此没有“另存为”选项 提前谢谢!

我正在尝试使用Oledb从excel中提取行。对于某些excel文件,某些人在尝试打开连接时抛出错误。错误显示“外部表不是预期的格式。”

这是我的连接字符串

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties="Excel 8.0;HDR=NO;IMEX=1"
我注意到的一件重要事情是,如果我保持文件打开,一切都会正常工作。由于文件是从第三方供应商处收到的,因此没有“另存为”选项

提前谢谢!
Manoj

尝试使用以下连接字符串:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.xls;Extended Properties=Extended Properties=Excel 12.0;

外部表不是预期的格式。“通常在尝试使用连接字符串为Microsoft.Jet.OLEDB.4.0和Extended Properties=Excel 8.0的Excel 2007文件时发生。可以在多种格式上粘贴xls扩展名,让Excel轻松打开文件。例如,尝试在文本编辑器中打开它并检查它是否是简单的.csv文件。这将解释为什么打开文件时连接字符串会工作。

扩展属性可能不同。如果源excel来自网页,请尝试将其更改为HTML导入…

谢谢!我已经试过了,但是我得到了同样的错误。文件扩展名也是.xls而不是.xlsx。即使我尝试使用Microsoft Query Wizard和ODBC(excel 2007中提供)导入此文件,是否也会遇到相同的错误您的test.xls是在哪里创建的?根据Zoidberg先生的回答,您确定文件本身没有损坏吗?这是注释还是答案?