0

因此,当我下载此文件时,我正在从一项计算该公司工人一天的服务中下载一些 excel 文件,这会出现
文件

现在我认为一切都很好,它应该可以正常工作。因此,如果我尝试在 Visual Studio 2015 中使用 openfiledialog 打开此文件,则会收到此错误。

错误

现在,当我将 excel 保存为 97-2003 xls 文件时,它适用于createbinaryreader. 如果我将它保存为普通的 excel 格式的 xlsx 文件,它适用于createopenxmlreader.

我该如何解决这个问题,这样我就不需要转到 excel 文件并将其专门保存为 excel 工作图(xls 或 xlsx)?

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

4

1 回答 1

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.

于 2017-09-03T11:11:58.160 回答