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

解决Excel模板中通过代码填充数据后,公式无法自动执行的问题。介绍了两种方法:强制sheet页执行公式和重定位公式所在cell,最终确认第二种方法有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

       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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ssy03092919

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值