org.apache.poi.xssf.streaming
Class SXSSFFormulaEvaluator

java.lang.Object
  extended by org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator
      extended by 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.


Nested Class Summary
static class SXSSFFormulaEvaluator.RowFlushedException
           
static class SXSSFFormulaEvaluator.SheetsFlushedException
           
 
Constructor Summary
SXSSFFormulaEvaluator(SXSSFWorkbook workbook)
           
 
Method Summary
static SXSSFFormulaEvaluator create(SXSSFWorkbook workbook, IStabilityClassifier stabilityClassifier, UDFFinder udfFinder)
           
 void evaluateAll()
          Loops over rows and cells, evaluating formula cells there.
static void evaluateAllFormulaCells(SXSSFWorkbook wb, boolean skipOutOfWindow)
          For active worksheets only, will loop over rows and cells, evaluating formula cells there.
 SXSSFCell evaluateInCell(Cell cell)
          If cell contains formula, it evaluates the formula, and puts the formula result back into the cell, in place of the old formula.
protected  EvaluationCell toEvaluationCell(Cell cell)
          Turns a SXSSFCell into a SXSSFEvaluationCell
 
Methods inherited from class org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator
_getWorkbookEvaluator, clearAllCachedResultValues, doEvaluateInCell, evaluate, evaluateFormulaCell, notifyDeleteCell, notifySetFormula, notifyUpdateCell, setDebugEvaluationOutputForNextEval, setIgnoreMissingWorkbooks, setupReferencedWorkbooks
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SXSSFFormulaEvaluator

public SXSSFFormulaEvaluator(SXSSFWorkbook workbook)
Method Detail

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)
If cell contains formula, it evaluates the formula, and puts the formula result back into the cell, in place of the old formula. Else if cell does not contain formula, this method leaves the cell unchanged. Note that the same instance of SXSSFCell is returned to allow chained calls like:
 int evaluatedCellType = evaluator.evaluateInCell(cell).getCellType();
 
Be aware that your cell value will be changed to hold the result of the formula. If you simply want the formula value computed for you, use BaseXSSFFormulaEvaluator.evaluateFormulaCell(org.apache.poi.ss.usermodel.Cell) }


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.



Copyright 2016 The Apache Software Foundation or its licensors, as applicable.