2017-03-09 104 views
0

于是我下载了一些从当我下载的是计算在这家公司一个工人每天服务Excel文件this file this comes up
file无法读取XLS文件时,我下载它们,并尝试打开文件对话框C#打开它们

现在我认为一切都好,它应该工作正常。 所以这里的交易,如果我尝试在我的Visual Studio 2015年与一个OpenFileDialog I get this error.

error

打开这个文件现在,当我去和Excel保存为它的工作原理与createbinaryreader 97-2003 xls文件。如果我将它保存为一个正常的excel格式xlsx文件,它可以与createopenxmlreader一起使用。

我该如何解决这个问题,因此我不需要转到excel文件并将其保存为excel-workmap(xls或xlsx)?

PS:我把这个excel文件放到datagridview中。

回答

1

这些笔记是太玉米粥发表评论,所以我让他们作为一个答案在这里:

注1:使用ExcelReaderFactory在aproper方式是这样的:

IExcelDataReader reader; 
if (file.Extension.Equals(".xls")) 
    reader = ExcelReaderFactory.CreateBinaryReader(stream); 
else if (file.Extension.Equals(".xlsx")) 
    reader = ExcelReaderFactory.CreateOpenXmlReader(stream); 
else 
    throw new Exception("Invalid Excel File"); 

注2:使用不带参数的AsDataSet()方法。

result = reader.AsDataSet(); 

注3:您可以使用ExcelDataReader新版本。

相关问题