gpt4 book ai didi

java - 在 java 中使用 Apache Poi 进行公式计算

转载 作者:行者123 更新时间:2023-12-02 13:20:44 26 4
gpt4 key购买 nike

我在 Excel 工作表中使用了公式,并使用这段代码来评估工作簿:

  FormulaEvaluator evaluato=wb.getCreationHelper().createFormulaEvaluator();
evaluator.clearAllCachedResultValues();
evaluator.evaluateAll();

但是每次我想从 Excel 文件中读取数据时,我都必须使用它,这会增加时间,因为更新值需要 10 秒。

有什么方法可以在事件预处理中使用此代码,然后使用评估结果更新工作表。因此,我不必每次想从 Excel 获取值时都使用此代码。

最佳答案

您也可以评估单个单元格,因此,如果您只对电子表格的某些部分的值感兴趣,则仅评估这些单元格可能就足够了,从而通过“evaluateAll”节省了所有其他单元格所需的时间“,例如

switch (evaluator.evaluateFormulaCell(cell)) {
case Cell.CELL_TYPE_BOOLEAN:
System.out.println(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.println(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
System.out.println(cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BLANK:
break;
case Cell.CELL_TYPE_ERROR:
System.out.println(cell.getErrorCellValue());
break;

// CELL_TYPE_FORMULA will never occur
case Cell.CELL_TYPE_FORMULA:
break;
}

另请参阅 https://poi.apache.org/spreadsheet/eval.html 处的文档了解更多描述和提示。

关于java - 在 java 中使用 Apache Poi 进行公式计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43582434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com