Class AbstractCalculationMonitor
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Monitor dla użytkownika w celu śledzenia postępu obliczeń formuły.
public abstract class AbstractCalculationMonitor
Dziedziczenie
object ← AbstractCalculationMonitor
Dziedziczone członkowie
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Przykłady
Workbook wb = new Workbook("calc.xlsx");
CalculationOptions opts = new CalculationOptions();
opts.CalculationMonitor = new MyCalculationMonitor();
wb.CalculateFormula(opts);
class MyCalculationMonitor : AbstractCalculationMonitor
{
public override void BeforeCalculate(int sheetIndex, int rowIndex, int colIndex)
{
if(sheetIndex!=0 || rowIndex!=0 || colIndex!=0)
{
return;
}
Console.WriteLine("Komórka A1 będzie obliczana.");
}
}
Konstruktory
AbstractCalculationMonitor()
protected AbstractCalculationMonitor()
Właściwości
CalculatedValue
Pobiera nowo obliczoną wartość komórki. Powinno być używane tylko w Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).
public object CalculatedValue { get; }
Wartość właściwości
OriginalValue
Pobiera starą wartość obliczonej komórki. Powinno być używane tylko w Aspose.Cells.AbstractCalculationMonitor.BeforeCalculate(System.Int32,System.Int32,System.Int32) oraz Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).
public object OriginalValue { get; }
Wartość właściwości
ValueChanged
Czy wartość komórki została zmieniona po obliczeniach. Powinno być używane tylko w Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).
public bool ValueChanged { get; }
Wartość właściwości
Metody
AfterCalculate(int, int, int)
Zaimplementuj tę metodę, aby wykonać operacje po obliczeniu jednej komórki.
public virtual void AfterCalculate(int sheetIndex, int rowIndex, int colIndex)
Parametry
sheetIndex
int
Indeks arkusza, do którego należy komórka.
rowIndex
int
Indeks wiersza komórki
colIndex
int
Indeks kolumny komórki
BeforeCalculate(int, int, int)
Zaimplementuj tę metodę, aby wykonać operacje przed obliczeniem jednej komórki.
public virtual void BeforeCalculate(int sheetIndex, int rowIndex, int colIndex)
Parametry
sheetIndex
int
Indeks arkusza, do którego należy komórka.
rowIndex
int
Indeks wiersza komórki
colIndex
int
Indeks kolumny komórki
Interrupt(string)
protected void Interrupt(string msg)
Parametry
msg
string
OnCircular(IEnumerator)
Zaimplementuj tę metodę, aby wykonać operacje podczas obliczania formuł z odniesieniami cyklicznymi.
public virtual bool OnCircular(IEnumerator circularCellsData)
Parametry
circularCellsData
IEnumerator
IEnumerator z elementami Aspose.Cells.CalculationCell reprezentującymi komórki, które zależą od odniesień cyklicznych.
Zwraca
Czy silnik formuł musi obliczyć te komórki cyklicznie po tym wywołaniu. True, aby pozwolić silnikowi formuł kontynuować obliczenia dla nich. False, aby pozwolić silnikowi formuł oznaczyć te komórki jako Obliczone.
Uwagi
W implementacji użytkownik może również ustawić oczekiwaną wartość jako wynik obliczeń dla części/wszystkich tych komórek, aby silnik formuł nie obliczał ich rekurencyjnie.