Apache Poi - 单元格中的错误值在现有工作簿中不会重新计算
创始人
2024-09-04 15:01:13
0

要解决Apache Poi中单元格中错误值不会重新计算的问题,可以使用以下代码示例:

import org.apache.poi.ss.usermodel.*;

public class RecalculateFormula {

    public static void main(String[] args) {
        // 读取现有的工作簿
        Workbook workbook = WorkbookFactory.create("existing_workbook.xlsx");
        
        // 获取第一个工作表
        Sheet sheet = workbook.getSheetAt(0);
        
        // 获取单元格
        Cell cell = sheet.getRow(0).getCell(0);
        
        // 检查单元格是否包含公式
        if (cell.getCellType() == CellType.FORMULA) {
            // 强制执行公式重新计算
            FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
            evaluator.evaluateFormulaCell(cell);
        }
        
        // 保存工作簿
        try {
            workbook.write(new FileOutputStream("existing_workbook.xlsx"));
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们首先使用WorkbookFactory.create方法读取现有的工作簿。然后,我们获取第一个工作表并获取要重新计算的单元格。

接下来,我们检查单元格的类型是否为公式。如果是公式,我们创建一个FormulaEvaluator对象,并使用evaluateFormulaCell方法强制执行公式重新计算。

最后,我们使用FileOutputStream将工作簿保存到磁盘,并关闭工作簿。

请注意,这个示例假设现有的工作簿名称为“existing_workbook.xlsx”。您需要根据实际情况更改文件名。此外,您需要确保您的项目中包含了Apache Poi的依赖项。

相关内容

热门资讯

5分钟了解!德扑之星设置埋牌(... 5分钟了解!德扑之星设置埋牌(辅助挂)原来真的有挂(详细教程)(有挂规律)-哔哩哔哩;玩家必备必赢加...
科技揭秘!德州软件辅助计算(透... 科技揭秘!德州软件辅助计算(透视)竟然真的有挂(详细教程)(有挂介绍)-哔哩哔哩准备好在德州软件辅助...
发现玩家!德州之星app有外挂... 发现玩家!德州之星app有外挂(辅助挂)原来真的有挂(详细教程)(有挂总结)-哔哩哔哩;亲们利用一分...
必备教程!云扑克cloudpo... 必备教程!云扑克cloudpoker(辅助挂)原来真的有挂(详细教程)(有挂攻略)-哔哩哔哩;亲,其...
1分钟了解!德州alphax辅... 1分钟了解!德州alphax辅助(透视)其实真的有挂(详细教程)(有挂了解)-哔哩哔哩需要回顾用户提...
透视脚本!众合推扑克辅助工具(... 透视脚本!众合推扑克辅助工具(透视)果真真的有挂(详细教程)(有挂规律)-哔哩哔哩;众合推扑克辅助工...
透视中牌率!德州wpk辅助是否... 透视中牌率!德州wpk辅助是否真实存在(辅助挂)原来真的有挂(详细教程)(有挂详情)-哔哩哔哩;是一...
记者揭秘!德扑输赢概率计算器(... 记者揭秘!德扑输赢概率计算器(辅助挂)的确真的有挂(详细教程)(有挂了解)-哔哩哔哩关于德扑输赢概率...
安装程序教程!gg扑克正规(透... 安装程序教程!gg扑克正规(透视)竟然是真的有挂(详细教程)(有挂总结)-哔哩哔哩是由北京得gg扑克...
一起来讨论!智星德州扑克辅牌器... 1、一起来讨论!智星德州扑克辅牌器(辅助挂)确实真的有挂(详细教程)(有挂技巧)-哔哩哔哩(UU p...