POI刷新数据后的函数(公式)更新问题

本文探讨了使用Apache POI更新Excel模板数据时遇到的问题,即更新隐藏sheet后,依赖该数据的其他sheet中的公式不会自动刷新。解决办法是在写入文件前设置`wb.setForceFormulaRecalculation(true)`来强制公式重新计算。但若不打开WPS或Office,公式不会自动更新。通过在读取公式单元格时调用`wb.getCreationHelper().createFormulaEvaluator().evaluateFormulaCell(cell);`,可以在不打开应用的情况下强制计算新值。

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

使用POI将Excel模板中的数据进行更新,这应该是很常见的操作

下面就贴上一小段简单的示例代码来稍作演示

public class ModifyExcel {
     
    /**
     * @param fileName  Excel报表路径
     * @param sheetName Excel中需要修改的sheet名
     * @param modify_from   从哪一个坐标点开始刷新数据
     * @param crs   从Oracle中读取出来的缓存数据集
     * @throws Exception
     */
    public void doModify(String fileName,String sheetName,int[] modify_from,CachedRowSet crs) throws Exception{
        Workbook    wb=WorkbookFactory.create(new FileInputStream(fileName));
        Sheet sheet=wb.getSheet(sheetName);
         
        int i=0;
        while(crs.next()){ 
            if(sheet.getRow(i+modify_fr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值