AbstractCalculationMonitor

AbstractCalculationMonitor class

Monitor for user to track the progress of formula calculation.

Methods

NameDescription
afterCalculate(sheetIndex, rowIndex, colIndex)Implement this method to do business after one cell has been calculated.
beforeCalculate(sheetIndex, rowIndex, colIndex)Implement this method to do business before calculating one cell.
getCalculatedValue()Gets the newly calculated value of the cell. Should be used only in afterCalculate(int, int, int).
getOriginalValue()Gets the old value of the calculated cell. Should be used only in beforeCalculate(int, int, int) and afterCalculate(int,
getValueChanged()Whether the cell’s value has been changed after the calculation. Should be used only in afterCalculate(int, int, int).
onCircular(circularCellsData)Implement this method to do business when calculating formulas with circular references. In the implementation user may

afterCalculate(sheetIndex, rowIndex, colIndex)

Implement this method to do business after one cell has been calculated.

ParameterTypeDescription
sheetIndexNumberIndex of the sheet that the cell belongs to.
rowIndexNumberRow index of the cell
colIndexNumberColumn index of the cell

beforeCalculate(sheetIndex, rowIndex, colIndex)

Implement this method to do business before calculating one cell.

ParameterTypeDescription
sheetIndexNumberIndex of the sheet that the cell belongs to.
rowIndexNumberRow index of the cell
colIndexNumberColumn index of the cell

getCalculatedValue()

Gets the newly calculated value of the cell. Should be used only in afterCalculate(int, int, int).

getOriginalValue()

Gets the old value of the calculated cell. Should be used only in beforeCalculate(int, int, int) and afterCalculate(int, int, int).

getValueChanged()

Whether the cell’s value has been changed after the calculation. Should be used only in afterCalculate(int, int, int).

onCircular(circularCellsData)

Implement this method to do business when calculating formulas with circular references. In the implementation user may also set the expected value as calculated result for part/all of those cells so the formula engine will not calculate them recursively.

ParameterTypeDescription
circularCellsDataIteratorIEnumerator with

Returns: boolean — boolean Whether the formula engine needs to calculate those cells in circular after this call. True to let the formula engine continue to do calculation for them. False to let the formula engine just mark those cells as Calculated.