用java读取带有货币格式和公式编码的excel单元格的方法是什么?

uyto3xhc  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(202)

我有一个货币格式的单元格,它是数字和它的编码与公式。我可以阅读公式,没有问题。我尝试与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)”以等号开头,这是不允许的。
有没有什么方法我还没有试过?或者我可以把单元格格式转换成一个普通的单元格,然后试着得到值?如果可以,我该怎么做?

mzsu5hc0

mzsu5hc01#

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

相关问题