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

posted @ 2019-08-24 16:27  远里歌声_why  阅读(1636)  评论(0编辑  收藏  举报