Apache POI : Проблема с обновлением Excel
после того как в ячейки записываются новые значения :
java.lang.IllegalStateException: Cannot get a NUMERIC value from a STRING cell
Работаю с 5 файлами, 3 из них работают как надо, а 2 других не хотят.
Пока приходится эти 2 файла стартовать посредством
Runtime.getRuntime().exec("cmd /c start " + excel.getAbsolutePath());
чтобы они открылись и эксель всё там прорешал и только потом из них вычитывать.
В чём может быть проблема? Как исправить?
Код:
// ---------------------------------------------------------------------------
// Здесь в ячейки записываются новые значения
workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
workbook.setForceFormulaRecalculation(true);
OutputStream output = new FileOutputStream(excel.getAbsolutePath());
workbook.write(output);
output.flush();
output.close();
// Здесь из ячеек вычитываются новые значения,
после того как Excel перерешает с новыми значениями
// ---------------------------------------------------------------------------
// «Ломается» на ячейке в которой стоит: =C34
java.lang.IllegalStateException: Cannot get a NUMERIC value from a STRING cell
at org.apache.poi.xssf.usermodel.XSSFCell.typeMismatch(XSSFCell.java:1050)
at org.apache.poi.xssf.usermodel.XSSFCell.getNumericCellValue(XSSFCell.java:310)
at quicc.excel.api.ExcelHandlerXSSF.handleCell(ExcelHandlerXSSF.java:275)
at quicc.excel.api.ExcelHandlerXSSF.readCell(ExcelHandlerXSSF.java:251)
// Здесь в ячейки записываются новые значения
workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
workbook.setForceFormulaRecalculation(true);
OutputStream output = new FileOutputStream(excel.getAbsolutePath());
workbook.write(output);
output.flush();
output.close();
// Здесь из ячеек вычитываются новые значения,
после того как Excel перерешает с новыми значениями
// ---------------------------------------------------------------------------
// «Ломается» на ячейке в которой стоит: =C34
java.lang.IllegalStateException: Cannot get a NUMERIC value from a STRING cell
at org.apache.poi.xssf.usermodel.XSSFCell.typeMismatch(XSSFCell.java:1050)
at org.apache.poi.xssf.usermodel.XSSFCell.getNumericCellValue(XSSFCell.java:310)
at quicc.excel.api.ExcelHandlerXSSF.handleCell(ExcelHandlerXSSF.java:275)
at quicc.excel.api.ExcelHandlerXSSF.readCell(ExcelHandlerXSSF.java:251)