简体   繁体   中英

fetch excel cell display value using Apache POI

Below shows the highlighted cell which display as - (hyphen) but actually has 0 value inside it.

在此处输入图片说明

It's a formula cell with following custom formatting.

在此处输入图片说明

It's a formula cell but when the result is 0 , it displays as - .

My requirement is to fetch - instead of 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

Please help me with this doubt. I want to display the value which is displayed in Spreadsheet ( - ).

Do using a DataFormatter as shown in Getting the cell contents . And because the value might be result of a formula. Do using using a DataFormatter together with a 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);
...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM