使用POI操作Excel时对事先写入模板的公式强制执行

场景:POI读取Excel模板。

当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行,

而事先手工写入Excel模板文件的公式则不自动被调用,必须手动双击该Cell才能生效。

采取的办法:

1.使用cell.setCellFormula方法重新在制定Cell里写入公式。

2.使用sheet.setForceFormulaRecalculation(true);方法强制让改Sheet执行公式。

示例:

1 Workbook wb = WorkbookFactory.create(new FileInputStream("workbook.xls"));
2 
3   Sheet sh = wb.getSheetAt(0);
4   sh.getRow(0).getCell(0).setCellValue(2);  // set A1=2
5 
6   wb.setForceFormulaRecalculation(true);

当然,在方法2能够生效的情况下我们还是推荐使用方法2来解决这个问题。

原文地址:https://www.cnblogs.com/haoyul/p/11405091.html