我使用的是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“方法错误吗?
发布于 2018-10-03 07:49:13
通过nugget安装ExcelDataReader.DataSet
发布于 2020-07-08 02:27:03
Install-Package ExcelDataReader.DataSet -Version 3.6.0安装DataSet以与AsDataSet配合使用
https://stackoverflow.com/questions/32843720
复制相似问题