尝试从计算公式中获取单元字符串时出现apache-poi错误:NotImplementedFunctionException:CONVERT

时间:2018-01-21 00:11:18

标签: java apache-poi

我正在尝试使用apache-poi在xlsx工作簿中评估公式单元格,如下所示:

FileInputStream file = new FileInputStream("files/records/RFQ.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(file);
Sheet structureBomSheet = workbook.getSheet("Structure BOM");

DataFormatter df = new DataFormatter();
FormulaEvaluator objFormulaEvaluator = new XSSFFormulaEvaluator(workbook);

Row row = structureBomSheet.getRow(2);
Cell cell = row.getCell(3);

logger.info(df.formatCellValue(valueCell));
objFormulaEvaluator.evaluate(valueCell);
String cellValue = df.formatCellValue(valueCell, objFormulaEvaluator);
logger.info(cellValue);

在上面的代码中,df.formatCellValue打印出单元格中的公式,并使用带有objForumlaEvaluator的formateCellValue()给出了以下错误:

org.apache.poi.ss.formula.eval.NotImplementedFunctionException: CONVERT
at org.apache.poi.ss.formula.atp.AnalysisToolPak$NotImplemented.evaluate(AnalysisToolPak.java:59)
at org.apache.poi.ss.formula.UserDefinedFunction.evaluate(UserDefinedFunction.java:61)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:129)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:514)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:278)
... 150 more

如何从单元格中获取从公式派生的字符串?

0 个答案:

没有答案