要解决Apache POI评估单元格为ErrorEval [#REF! ],但结果工作簿中没有任何#REF! 错误的问题,您可以尝试以下方法:
检查工作簿中的所有公式和引用的单元格,确保它们正确无误。可能存在一个或多个引用了不存在的单元格或已删除的单元格的公式。
使用FormulaEvaluator的evaluateAll()方法重新计算工作簿中的所有公式。这将强制评估所有公式,并更新单元格的值。
示例代码:
Workbook workbook = WorkbookFactory.create(new FileInputStream("your_workbook.xlsx"));
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
evaluator.evaluateAll();
workbook.write(new FileOutputStream("your_updated_workbook.xlsx"));
workbook.close();
示例代码:
Workbook workbook = WorkbookFactory.create(new FileInputStream("your_workbook.xlsx"));
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
Sheet sheet = workbook.getSheetAt(0);
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
evaluator.evaluateInCell(cell);
workbook.write(new FileOutputStream("your_updated_workbook.xlsx"));
workbook.close();
请确保替换示例代码中的"your_workbook.xlsx"为您实际使用的工作簿文件名。更新后的工作簿将保存为"your_updated_workbook.xlsx"。