ExcelDataReader.AsDataSet not working
Asked Answered
O

2

24

I'm using ExcelDataReader v.2.1. library to read both xls and xlsx files in my C# project. This way:

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;

Then, I use "AsDataSet" method to get a filled DataSet:

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

It works fine most of the times, but, with some XLSX files, it only reads the first column. I've been looking at excelReader instance with a Watch and I saw that it actually gets all the values of the Excel, but then, when using the AsDataSet method, it only reads the first column.

Do you know what can be going wrong here? Do you think it could be a "AsDataSet" method bug?

Odelsting answered 29/9, 2015 at 12:11 Comment(1)
There are fiew changes to be made with adding reference to ExcelDataReader.Dataset. Here is a guide to add those changes. github.com/ExcelDataReader/ExcelDataReader/issues/…Perfidious
T
60

install ExcelDataReader.DataSet via nugget

Tamra answered 2/10, 2018 at 23:49 Comment(0)
T
5
Install-Package ExcelDataReader.DataSet -Version 3.6.0

Install DataSet to work with AsDataSet

Teodoor answered 7/7, 2020 at 18:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.