因此,当我下载this file this comes up时,我正在从一家计算该公司员工日的服务中下载一些excel文件:
现在我觉得一切都好,它应该可以正常工作。 如果我尝试在我的Visual Studio 2015中使用openfiledialog I get this error.
打开此文件,那么这就是交易
现在,当我将excel保存为97-2003 xls文件时,它可以与createbinaryreader
一起使用。如果我将其保存为普通的excel格式xlsx文件,则可以使用createopenxmlreader
。
如何修复此问题,以便我不需要转到excel文件并将其另外保存为excel-workmap(xls或xlsx)?
PS:我将这个excel文件放入datagridview。
答案 0 :(得分:1)
这些笔记太难以评论,所以我在这里作为答案:
注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
。