В моем коде я проверяю тип ячейки, и если тип ячейки является формулой, то я пытаюсь получить кешированное значение, например:
else if(cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA){
System.out.println("formula result type:" +cell.getCachedFormulaResultType());
switch(cell.getCachedFormulaResultType()){
case XSSFCell.CELL_TYPE_NUMERIC:
....
....
break;
Он отлично работает для некоторых ячеек, но в одной из ячеек я получаю ИСКЛЮЧЕНИЕ НЕЗАКОННОГО СОСТОЯНИЯ:
java.lang.IllegalStateException: Only formula cells have cached results
Не могу выяснить причину ошибки. Я не использую cell.getCachedFormulaResult()
за пределами этого else if
, и даже это работает для всех предыдущих ячеек (которые имеют одну и ту же формулу)