我正在使用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/

10-10 18:47
查看更多