org.apache.poi.xssf.usermodel
Class XSSFFormulaEvaluator
java.lang.Object
org.apache.poi.ss.formula.BaseFormulaEvaluator
org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator
org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator
- All Implemented Interfaces:
- WorkbookEvaluatorProvider, FormulaEvaluator
public final class XSSFFormulaEvaluator
- extends BaseXSSFFormulaEvaluator
Evaluates formula cells.
For performance reasons, this class keeps a cache of all previously calculated intermediate
cell values. Be sure to call BaseFormulaEvaluator.clearAllCachedResultValues()
if any workbook cells are changed between
calls to evaluate~ methods on this class.
Methods inherited from class org.apache.poi.ss.formula.BaseFormulaEvaluator |
_getWorkbookEvaluator, clearAllCachedResultValues, evaluate, evaluateAllFormulaCells, evaluateAllFormulaCells, evaluateFormulaCell, evaluateFormulaCellEnum, setCellType, setCellValue, setDebugEvaluationOutputForNextEval, setIgnoreMissingWorkbooks, setupEnvironment, setupReferencedWorkbooks |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XSSFFormulaEvaluator
public XSSFFormulaEvaluator(XSSFWorkbook workbook)
XSSFFormulaEvaluator
protected XSSFFormulaEvaluator(XSSFWorkbook workbook,
WorkbookEvaluator bookEvaluator)
create
public static XSSFFormulaEvaluator create(XSSFWorkbook workbook,
IStabilityClassifier stabilityClassifier,
UDFFinder udfFinder)
- Parameters:
stabilityClassifier
- used to optimise caching performance. Pass null
for the (conservative) assumption that any cell may have its definition changed after
evaluation begins.udfFinder
- pass null
for default (AnalysisToolPak only)
evaluateAllFormulaCells
public static void evaluateAllFormulaCells(XSSFWorkbook wb)
- Loops over all cells in all sheets of the supplied
workbook.
For cells that contain formulas, their formulas are
evaluated, and the results are saved. These cells
remain as formula cells.
For cells that do not contain formulas, no changes
are made.
This is a helpful wrapper around looping over all
cells, and calling evaluateFormulaCell on each one.
evaluateInCell
public XSSFCell evaluateInCell(Cell cell)
- Specified by:
evaluateInCell
in interface FormulaEvaluator
- Overrides:
evaluateInCell
in class BaseFormulaEvaluator
evaluateAll
public void evaluateAll()
- Loops over all cells in all sheets of the supplied
workbook.
For cells that contain formulas, their formulas are
evaluated, and the results are saved. These cells
remain as formula cells.
For cells that do not contain formulas, no changes
are made.
This is a helpful wrapper around looping over all
cells, and calling evaluateFormulaCell on each one.
toEvaluationCell
protected EvaluationCell toEvaluationCell(Cell cell)
- Turns a XSSFCell into a XSSFEvaluationCell
- Specified by:
toEvaluationCell
in class BaseXSSFFormulaEvaluator