【发布时间】:2020-06-30 20:13:52
【问题描述】:
如果有一个带有公式的单元格并保存文件,那么手动关闭文件后,excel会要求保存更改?如何从程序中完全保存文件,因为没有这种保存,我无法通过读取文件获得正确的值。
当前文件保存:
File file = new File("Test.xlsx");
FileOutputStream out;
try {
out = new FileOutputStream(file);
workbook.write(out);
workbook.close();
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
公式更新:
XSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);
workbook.setForceFormulaRecalculation(true);
公式:
XSSFCell irrCell = row1.createCell(0);
irrCell.setCellFormula("IFERROR(IRR(A2:C2),0)");
文件读取:
try {
workbook = new XSSFWorkbook(file);
System.out.println(workbook.getSheetAt(0).getRow(0).getCell(0).getNumericCellValue());
} catch (InvalidFormatException e) {
e.printStackTrace();
}
单元格值:-20000000、-1000、2399000
程序公式单元格值:0,文件公式单元格值:-0,653687014
【问题讨论】:
标签: java excel apache-poi