ExcelDataReader.AsDataSet无法正常工作

Mry*_*Mry 5 c# excel exceldatareader

我正在使用ExcelDataReader v.2.1。库来读取我的C#项目中的xls和xlsx文件。这条路:

FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader;

string extension = Path.GetExtension(filePath);

if (extension == ".xls")
{
    excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
}
else if (extension == ".xlsx")
{
    excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
}
else
{
    throw new NotSupportedException("Wrong file extension");
}

return excelReader;
Run Code Online (Sandbox Code Playgroud)

然后,我使用“ AsDataSet”方法来获取填充的数据集:

_dataSet = GetDataReader(_options.Filepath).AsDataSet();
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,它都能正常工作,但是对于某些XLSX文件,它仅读取第一列。我一直在用Watch看excelReader实例,我看到它实际上获取了Excel的所有值,但是随后,当使用AsDataSet方法时,它仅读取第一列。

您知道这里可能出什么问题吗?您认为这可能是“ AsDataSet”方法错误吗?

小智 12

通过块安装ExcelDataReader.DataSet


Huy*_*Huy 5

Install-Package ExcelDataReader.DataSet -Version 3.6.0
Run Code Online (Sandbox Code Playgroud)

安装 DataSet 以与 AsDataSet 一起使用