org.apache.poi.xssf.streaming
Class SXSSFFormulaEvaluator
java.lang.Object
org.apache.poi.ss.formula.BaseFormulaEvaluator
org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator
org.apache.poi.xssf.streaming.SXSSFFormulaEvaluator
- All Implemented Interfaces:
- WorkbookEvaluatorProvider, FormulaEvaluator
public final class SXSSFFormulaEvaluator
- extends BaseXSSFFormulaEvaluator
Streaming-specific Formula Evaluator, which is able to
lookup cells within the current Window.
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 |
SXSSFFormulaEvaluator
public SXSSFFormulaEvaluator(SXSSFWorkbook workbook)
create
public static SXSSFFormulaEvaluator create(SXSSFWorkbook 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)
toEvaluationCell
protected EvaluationCell toEvaluationCell(Cell cell)
- Turns a SXSSFCell into a SXSSFEvaluationCell
- Specified by:
toEvaluationCell
in class BaseXSSFFormulaEvaluator
evaluateInCell
public SXSSFCell evaluateInCell(Cell cell)
- Specified by:
evaluateInCell
in interface FormulaEvaluator
- Overrides:
evaluateInCell
in class BaseFormulaEvaluator
evaluateAllFormulaCells
public static void evaluateAllFormulaCells(SXSSFWorkbook wb,
boolean skipOutOfWindow)
- For active worksheets only, will loop over rows and
cells, evaluating formula cells there.
If formula cells are outside the window for that sheet,
it can either skip them silently, or give an exception
evaluateAll
public void evaluateAll()
- Loops over rows and cells, evaluating formula cells there.
If any sheets are inactive, or any cells outside of the window,
will give an Exception.
For SXSSF, you generally don't want to use this method, instead
evaluate your formulas as you go before they leave the window.