【问题标题】:ExcelDataReader reading values like #N/A as string instead of NULL or missing while reading excel fileExcelDataReader 在读取 excel 文件时将 #N/A 之类的值读取为字符串而不是 NULL 或缺失
【发布时间】:2018-04-16 23:26:58
【问题描述】:

我正在使用 ExcelDataReader 读取 .xlsx、.xls、.csv 文件,同时读取它会将所有内容视为字符串,因此 #N/A 或 #value!也被视为字符串并在我尝试对其进行计算时给出异常。

 FileStream stream = File.Open(strFilePath, FileMode.Open, FileAccess.Read);

            //Reading from a binary Excel file ('97-2003 format; *.xls)
            string extension = System.IO.Path.GetExtension(strFilePath).ToLower();
            IExcelDataReader excelReader;
            if (extension.Equals(".csv"))
            {
                excelReader = ExcelReaderFactory.CreateCsvReader(stream);
            }
            else if (extension.Equals(".xls"))
            {
                excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
            }
            else
            {
                excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            }

            //...
            //DataSet - The result of each spreadsheet will be created in the result.Tables
            //DataSet - Create column names from first row
            DataSet result = excelReader.AsDataSet(new ExcelDataSetConfiguration()
            {
                ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                {
                    UseHeaderRow = true
                }
            });
            excelReader.Close();
            return result.Tables[sheetno];

这是我用于导入 excel 文件的代码。如何将其修改为读取#N/A 或#value!为 0 还是 NULL?

【问题讨论】:

    标签: asp.net exceldatareader


    【解决方案1】:

    这是 ExcelDataReader 的 XLSX 解析器中的一个错误,需要在库中修复代码。

    在此处跟踪错误: https://github.com/ExcelDataReader/ExcelDataReader/issues/329

    带有 XLS 的 ExcelDataReader 可以按预期工作:它为有错误的字段返回 NULL。

    带有 CSV 的 ExcelDataReader 可能会继续将错误作为字符串返回,因为 CSV 格式不会区分错误字符串和常规字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      相关资源
      最近更新 更多