|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.poi.xssf.usermodel.XSSFFormulaEvaluator
public class XSSFFormulaEvaluator
Evaluates formula cells.
For performance reasons, this class keeps a cache of all previously calculated intermediate cell values. Be sure to callclearAllCachedResultValues()
if any workbook cells are changed between
calls to evaluate~ methods on this class.
Constructor Summary | |
---|---|
XSSFFormulaEvaluator(XSSFWorkbook workbook)
|
|
XSSFFormulaEvaluator(XSSFWorkbook workbook,
org.apache.poi.ss.formula.IStabilityClassifier stabilityClassifier)
|
Method Summary | |
---|---|
void |
clearAllCachedResultValues()
Should be called whenever there are major changes (e.g. |
static XSSFFormulaEvaluator |
create(XSSFWorkbook workbook,
org.apache.poi.ss.formula.IStabilityClassifier stabilityClassifier,
org.apache.poi.hssf.record.formula.udf.UDFFinder udfFinder)
|
org.apache.poi.ss.usermodel.CellValue |
evaluate(org.apache.poi.ss.usermodel.Cell cell)
If cell contains a formula, the formula is evaluated and returned, else the CellValue simply copies the appropriate cell value from the cell and also its cell type. |
static void |
evaluateAllFormulaCells(XSSFWorkbook wb)
Loops over all cells in all sheets of the supplied workbook. |
int |
evaluateFormulaCell(org.apache.poi.ss.usermodel.Cell cell)
If cell contains formula, it evaluates the formula, and saves the result of the formula. |
org.apache.poi.ss.usermodel.Cell |
evaluateInCell(org.apache.poi.ss.usermodel.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. |
void |
notifyDeleteCell(org.apache.poi.ss.usermodel.Cell cell)
|
void |
notifySetFormula(org.apache.poi.ss.usermodel.Cell cell)
|
void |
notifyUpdateCell(org.apache.poi.ss.usermodel.Cell cell)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public XSSFFormulaEvaluator(XSSFWorkbook workbook)
public XSSFFormulaEvaluator(XSSFWorkbook workbook, org.apache.poi.ss.formula.IStabilityClassifier stabilityClassifier)
stabilityClassifier
- used to optimise caching performance. Pass null
for the (conservative) assumption that any cell may have its definition changed after
evaluation begins.
(Sep 2009) (reduce overloading) use create(XSSFWorkbook, org.apache.poi.ss.formula.IStabilityClassifier, org.apache.poi.hssf.record.formula.udf.UDFFinder)
Method Detail |
---|
public static XSSFFormulaEvaluator create(XSSFWorkbook workbook, org.apache.poi.ss.formula.IStabilityClassifier stabilityClassifier, org.apache.poi.hssf.record.formula.udf.UDFFinder udfFinder)
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)public void clearAllCachedResultValues()
clearAllCachedResultValues
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
public void notifySetFormula(org.apache.poi.ss.usermodel.Cell cell)
notifySetFormula
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
public void notifyDeleteCell(org.apache.poi.ss.usermodel.Cell cell)
notifyDeleteCell
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
public void notifyUpdateCell(org.apache.poi.ss.usermodel.Cell cell)
notifyUpdateCell
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
public org.apache.poi.ss.usermodel.CellValue evaluate(org.apache.poi.ss.usermodel.Cell cell)
evaluate
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
cell
- public int evaluateFormulaCell(org.apache.poi.ss.usermodel.Cell cell)
int evaluatedCellType = evaluator.evaluateFormulaCell(cell);Be aware that your cell will hold both the formula, and the result. If you want the cell replaced with the result of the formula, use
evaluate(org.apache.poi.ss.usermodel.Cell)
}
evaluateFormulaCell
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
cell
- The cell to evaluate
public org.apache.poi.ss.usermodel.Cell evaluateInCell(org.apache.poi.ss.usermodel.Cell cell)
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
evaluateFormulaCell(org.apache.poi.ss.usermodel.Cell)
}
evaluateInCell
in interface org.apache.poi.ss.usermodel.FormulaEvaluator
cell
- public static void evaluateAllFormulaCells(XSSFWorkbook wb)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |