我正在使用excel数据读取器,并且我注意到它与旧的excel 5.0 / 95工作簿文件不兼容。有没有一种方法可以将.xls文件的版本发送到excel数据读取器中,以防止在早期版本的excel文件中发送?
这是我现在正在使用的。
if (extension == ".XLS")
{
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
result = excelReader.AsDataSet();
}
else
{
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
result = excelReader.AsDataSet();
}
最佳答案
你所拥有的是正确的。但是您可以使其更清洁。例如:
IExcelDataReader excelReader;
if (String.Compare(extension, ".xls", true) == 0){
excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
} else if (String.Compare(extension , ".xlsx", true) == 0){
excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
}
excelReader.IsFirstRowAsColumnNames = true;
result = excelReader.AsDataSet();
关于c# - C#如何确定Excel文件版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26221789/