外部表格不是预期的格式。这个xls文件有什么问题?

时间:2015-08-06 01:47:24

标签: c# excel oledb ms-jet-ace oledbexception

当我运行下面的代码时,我收到以下错误:

  

{"外部表格不符合预期格式的System.Data.OleDbException。"}

我尝试了所有不同的扩展属性:

  • Excel 8.0

使用HDR=NO而不使用IMEX=1。使用HDR=NO而不使用。

  • Excel 12.0

使用IMEX=1而不使用DataSet ds = new DataSet(); string findTypeConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + "; Extended Properties=\"Excel 12.0;HDR=NO\""; string findTypeQuery = "SELECT * FROM [Sheet1$E1:E1]"; using(OleDbConnection findTypeCon = new OleDbConnection(findTypeConnectionString)){ using(OleDbDataAdapter findTypeDa = new OleDbDataAdapter(findTypeQuery, findTypeCon)){ findTypeDa.Fill(ds); } } 。使用findTypeDa.Fill(ds); 而不使用。

XLS文件最初从网页下载到计算机的本地硬盘驱动器。我的Web应用程序然后使用FileUpload控件将其上传到不同的Web服务器(文件未锁定,我为此测试)。然后调用下面的代码。

我找到的唯一解决方案是 - 如果我只是在Excel中打开文件(我有Office 2013)然后关闭Excel,代码就可以了!没有OleDbException!我没有以不同的格式保存文件,我只是在Excel中打开文件并关闭它!

是什么给出的?我还没有找到任何有关预期文件格式的信息,或者是否真的是问题。为什么查询只是因为文件是用Excel打开的?

无论如何,我们将非常感谢任何协助。这是代码:

type

OleDbException发生在:

cmd.exe

编辑 - 是的,我在xls文件中选择单个单元格的内容。

0 个答案:

没有答案