什么是一种方法来读取excel单元格与货币格式和编码的公式使用java?



我有一个货币格式单元格,它是数字的,并使用公式编码。我能看懂公式,没问题。我尝试了cell.getNumericCellValue(),但它的读数为0.00。我试过用setCellType把它转换成一个字符串,用cell.getStringCellType()读它。我也试过使用DataFromatter()和应用formatCellValue(cell),它读取公式。我也试过使用FormulaEvaluator.

FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); 
cell.setCellFormula(formaCellValue.substring(1));
evaluator.evaluateFormulaCell(cell);

这是我得到的错误信息:

指定的公式'=ROUND(G65*E65,2)'以不允许的等号开头。

还有我没有尝试过的方法吗?或者我可以将单元格格式转换为一般单元格并尝试获取值吗?如果是这样,我该怎么做呢?

FormulaEvaluator evaluator = 
workbook.getCreationHelper().createFormulaEvaluator();
double value = evaluator.evaluate(cell).getNumberValue();
System.out.println(value);

cell.setCellType(CellType.TYPE_NUMERIC);
double value = cell.getNumericCellValue();
System.out.println(value);

最新更新