ExcelDataReader.AsDataSet不起作用

时间:2015-09-29 12:11:38

标签: 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;

然后,我使用" AsDataSet"获取填充DataSet的方法:

_dataSet = GetDataReader(_options.Filepath).AsDataSet();

大部分时间都可以正常工作,但是,对于某些XLSX文件,它只读取第一列。 我一直在使用Watch查看excelReader实例,我发现它实际上获取了Excel的所有值,但是,当使用AsDataSet方法时,它只读取第一列。

你知道这里会出现什么问题吗?你认为它可能是一个" AsDataSet"方法错误?

2 个答案:

答案 0 :(得分:7)

通过块安装ExcelDataReader.DataSet

答案 1 :(得分:2)

Install-Package ExcelDataReader.DataSet -Version 3.6.0

安装数据集以与AsDataSet一起使用