使用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来解决这个问题。