получить значение для отображения в Excel, используя Apache POI - PullRequest
0 голосов
/ 11 февраля 2019

Ниже показана выделенная ячейка, которая отображается как - (дефис), но на самом деле имеет значение 0.

enter image description here

ЭтоЯчейка формулы со следующим пользовательским форматированием.

enter image description here

Это ячейка формулы, но когда результат равен 0, он отображается как -.

Мое требование - взять - вместо 0.

cell2Update = sheet.getRow(4).getCell(3);
cell2Update.setCellType(Cell.CELL_TYPE_NUMERIC);
System.out.println(cell2Update.getStringCellValue());//Exception 
System.out.println(cell2Update.getNumericCellValue());//Display as 0

Пожалуйста, помогите мне с этим сомнением.Я хочу отобразить значение, которое отображается в электронной таблице (-).

1 Ответ

0 голосов
/ 11 февраля 2019

Используйте DataFormatter, как показано в Получение содержимого ячейки .И потому, что значение может быть результатом формулы.Используйте DataFormatter вместе с FormulaEvaluator :

...
DataFormatter formatter = new DataFormatter(); 
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); 
...
cell2Update = sheet.getRow(4).getCell(3);
...
String value = formatter.formatCellValue(cell2Update, evaluator);
System.out.println(value);
...
...