当我运行下面的代码时,我收到以下错误:
{"外部表格不符合预期格式的System.Data.OleDbException。"}
我尝试了所有不同的扩展属性:
使用HDR=NO
而不使用IMEX=1
。使用HDR=NO
而不使用。
使用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文件中选择单个单元格的内容。