Я читаю файл Excel с NPOI в NetCore с пакетом DotNetCore.NPOI.
Файл состоит из нескольких строк с текстовыми столбцами, некоторых числовых столбцов и столбцов формул. Проблема в том, что я могу получить всю информацию, но результат из столбцов формул всегда равен 0. Когда я открываю файл в Excel, я вижу, что формулы заполняются в своих ячейках.
У меня есть класс ExcelReader, который имеет этот метод для чтения значений ячеек:
private object GetCellValue(ICell cell)
{
if (cell == null)
{
return null;
}
switch (cell.CellType)
{
case CellType.Boolean:
return cell.BooleanCellValue;
case CellType.Numeric:
return cell.NumericCellValue;
case CellType.String:
return cell.StringCellValue;
case CellType.Blank:
return null;
case CellType.Error:
return null;
case CellType.Formula:
object result = null;
var newCell = formulaEval.Evaluate(cell);
switch(newCell.CellType)
{
case CellType.Numeric:
result = newCell.NumberValue;
break;
case CellType.String:
result = newCell.StringValue;
break;
}
return result;
case CellType.Unknown:
return null;
default:
return null;
}
}
FormulaEval - это оценщик рабочей книги HSSFFormulaEvaluator. Я пытаюсь оценить формулу, не влияя на значение в ячейке, но она все еще не работает.
Файл защищен пользователем. Может ли это быть возможной проблемой? Кто-то с похожими проблемами?