|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.poi.hssf.usermodel.HSSFFormulaEvaluator
public class HSSFFormulaEvaluator
Evaluates formula cells.
For performance reasons, this class keeps a cache of all previously calculated intermediate cell values. Be sure to call#clearCache()
if any workbook cells are changed between
calls to evaluate~ methods on this class.
Nested Class Summary | |
---|---|
static class |
HSSFFormulaEvaluator.CellValue
Mimics the 'data view' of a cell. |
Constructor Summary | |
---|---|
HSSFFormulaEvaluator(HSSFSheet sheet,
HSSFWorkbook workbook)
Deprecated. (Sep 2008) HSSFSheet parameter is ignored |
|
HSSFFormulaEvaluator(HSSFWorkbook workbook)
|
Method Summary | |
---|---|
void |
clearAllCachedResultValues()
Should be called whenever there are major changes (e.g. |
HSSFFormulaEvaluator.CellValue |
evaluate(HSSFCell 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(HSSFWorkbook wb)
Loops over all cells in all sheets of the supplied workbook. |
int |
evaluateFormulaCell(HSSFCell cell)
If cell contains formula, it evaluates the formula, and saves the result of the formula. |
HSSFCell |
evaluateInCell(HSSFCell 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(HSSFCell cell)
Should be called to tell the cell value cache that the specified cell has just been deleted. |
void |
notifyUpdateCell(HSSFCell cell)
Should be called to tell the cell value cache that the specified (value or formula) cell has changed. |
void |
setCurrentRow(HSSFRow row)
Deprecated. (Aug 2008) - not needed, since the current row can be derived from the cell |
static void |
setupEnvironment(java.lang.String[] workbookNames,
HSSFFormulaEvaluator[] evaluators)
Coordinates several formula evaluators together so that formulas that involve external references can be evaluated. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public HSSFFormulaEvaluator(HSSFSheet sheet, HSSFWorkbook workbook)
public HSSFFormulaEvaluator(HSSFWorkbook workbook)
Method Detail |
---|
public static void setupEnvironment(java.lang.String[] workbookNames, HSSFFormulaEvaluator[] evaluators)
workbookNames
- the simple file names used to identify the workbooks in formulas
with external links (for example "MyData.xls" as used in a formula "[MyData.xls]Sheet1!A1")evaluators
- all evaluators for the full set of workbooks required by the formulas.public void setCurrentRow(HSSFRow row)
public void clearAllCachedResultValues()
public void notifyUpdateCell(HSSFCell cell)
public void notifyDeleteCell(HSSFCell cell)
public HSSFFormulaEvaluator.CellValue evaluate(HSSFCell cell)
cell
- may be null
signifying that the cell is not present (or blank)
null
if the supplied cell is null
or blankpublic int evaluateFormulaCell(HSSFCell 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
evaluateInCell(HSSFCell)
cell
- The cell to evaluate
public HSSFCell evaluateInCell(HSSFCell 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(HSSFCell)
cell
- public static void evaluateAllFormulaCells(HSSFWorkbook wb)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |