我正在使用Apache POI API从Excel文件中获取值。除了包含公式的单元格外,一切都很顺利。事实上,cell.getStringCellValue()
返回的是单元格中使用的公式而不是单元格的值。
我尝试使用evaluateFormulaCell()
方法,但它不起作用,因为我正在使用GETPIVOTDATA Excel公式,而该公式没有在API中实现:
Exception in thread "main" org.apache.poi.ss.formula.eval.NotImplementedException: Error evaluating cell Landscape!K11
at org.apache.poi.ss.formula.WorkbookEvaluator.addExceptionInfo(WorkbookEvaluator.java:321)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:288)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluate(WorkbookEvaluator.java:221)
at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCellValue(HSSFFormulaEvaluator.java:320)
at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCell(HSSFFormulaEvaluator.java:213)
at fromExcelToJava.ExcelSheetReader.unAutreTest(ExcelSheetReader.java:193)
at fromExcelToJava.ExcelSheetReader.main(ExcelSheetReader.java:224)
Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: GETPIVOTDATA
at org.apache.poi.hssf.record.formula.functions.NotImplementedFunction.evaluate(NotImplementedFunction.java:42)
TYPE_NUMERIC
格式化为我在 Excel 中看到的值?例如,cell.getNumericCellValue() 得到了0.0
,但我在 Excel 中看到的是0
。我想要得到0
,而不是0.0
。 - niaomingjian