当我下载它们并尝试在openfiledialog中打开它们时,无法读取XLS文件C#

所以我下载了一些excel文件,当我下载这个文件的时候, 这个文件出现了,
文件

现在我觉得一切正常,应该可以正常工作。 所以这里的交易,如果我尝试打开这个文件在我的Visual Studio 2015 openfiledialog 我得到这个错误。

错误

现在当我把excel保存为97-2003 xls文件的时候,它和createbinaryreader一起createbinaryreader 。 如果我把它保存为一个正常的excel格式的xlsx文件,它可以与createopenxmlreader一起createopenxmlreader

我怎样才能解决这个问题,所以我不需要去excel文件,并将其保存为excel-workmap(xls或xlsx)?

PS:我把这个excel文件放入一个datagridview。

这些笔记太糊涂了,所以我让他们在这里作为答案:

注1:以这样的方式使用ExcelReaderFactory:

 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