Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ApachePOI获取excel单元格显示值_Java_Excel_Excel Formula_Apache Poi - Fatal编程技术网

Java 使用ApachePOI获取excel单元格显示值

Java 使用ApachePOI获取excel单元格显示值,java,excel,excel-formula,apache-poi,Java,Excel,Excel Formula,Apache Poi,下面显示了高亮显示的单元格,该单元格显示为-(连字符),但实际上其内部有0值 这是一个具有以下自定义格式的公式单元格 它是一个公式单元格,但当结果为0时,它显示为- 我的要求是获取-而不是0 cell2Update = sheet.getRow(4).getCell(3); cell2Update.setCellType(Cell.CELL_TYPE_NUMERIC); System.out.println(cell2Update.getStringCellValue());//Except

下面显示了高亮显示的单元格,该单元格显示为
-
(连字符),但实际上其内部有
0

这是一个具有以下自定义格式的公式单元格

它是一个公式单元格,但当结果为
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

请帮我解答这个疑问。我想显示电子表格中显示的值(
-
)。

使用
数据格式设置程序执行,如中所示。因为这个值可能是一个公式的结果。请将a与a一起使用:

...
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);
...