org.apache.poi.xssf.streaming
Class SXSSFFormulaEvaluator

java.lang.Object
  extended by org.apache.poi.ss.formula.BaseFormulaEvaluator
      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
           
 
Field Summary
 
Fields inherited from class org.apache.poi.ss.formula.BaseFormulaEvaluator
_bookEvaluator
 
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)
           
protected  EvaluationCell toEvaluationCell(Cell cell)
          Turns a SXSSFCell into a SXSSFEvaluationCell
 
Methods inherited from class org.apache.poi.xssf.usermodel.BaseXSSFFormulaEvaluator
createRichTextString, evaluateFormulaCellValue, notifyDeleteCell, notifySetFormula, notifyUpdateCell
 
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
 

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)
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.