POI导出excel模板,公式不能自动计算的解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/su1573/article/details/86581928

背景:

       excel模板在项目中,通过代码填充数据后,在下方的单元格里能够通过公式自动计算出结果,结果是,数据能填充,但是公式不能自动执行,只能打开生成的文件,双击数据单元格后,才能自动执行公式;


采用方案:

       

1、强制使sheet页执行公式
			XSSFSheet sheetS1 = (XSSFSheet) workBook.getSheet(sheetName);
			sheetS1.setForceFormulaRecalculation(true);  //强制执行该sheet中所有公式

经测试,该方法在本项目不适用;


2、重定位公式所在的cell
				if (HSSFCell.CELL_TYPE_FORMULA == cellS.getCellType()) {
    			     //取得公式单元格的公式,重新设置
    				 cellS.setCellFormula(cellS.getCellFormula());
    			 }else {
    				 cellS.setCellValue(value+"");// 给单元格赋String值
    			 }

在if判断条件中,取得cell的类型,如为“2”,则为公式,那么先取该cell中的公式,然后再重新设置一下;
经测试,该方法在本项目可行;故采用第二种方法


当然上面两种方式可选用适合自己项目的,谢谢采纳!!!


author:su1573

猜你喜欢

转载自blog.csdn.net/su1573/article/details/86581928