POI生成EXCEL,公式不自动执行的问题

本文介绍使用Java POI库处理Excel文件时如何确保预设的公式能够自动计算,以及如何正确设置空白单元格以参与公式计算。通过调整单元格类型和启用公式重新计算,可以解决公式不生效的问题。

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

场景:POI读取Excel模板。 当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行, 而事先手工写入Excel模板文件的公式则不自动被调用,必须手动双击该Cell才能生效。

 采取的办法: 1.使用cell.setCellFormula方法重新在制定Cell里写入公式。 2.使用sheet.setForceFormulaRecalculation(true);方法强制让改Sheet执行公式。 当然,在方法2能够生效的情况下我们还是推荐使用方法2来解决这个问题。




Poi 将excel单元格设置为空,使公式引用可用

使用poi生成excle报表时遇到这样的问题,当前单元格没值,在设置当前单元格为空时遇到问题,因为没值的这个单元格在后面的公式中被引用,因为是空导致公式不能解析,但发现excel本身的这种情况却没有问题,遂发现是我在poi设置空值时使用的是:sheet.getRow(i).getCell(j).setCellValue(""); 该空值不被excel所识别,后发现解决方案如下: 

将该单元格类型设置为:HSSFCell.CELL_TYPE_BLANK类型即可。 
//将当前单元格由数值类型设置为空 (设置为空的单元格才能参与excel公式计算,而""," " null等均不能参与计算) 
sheet.getRow(k).getCell(j).setCellType(HSSFCell.CELL_TYPE_BLANK); 




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值