Class AbstractCalculationMonitor

Class AbstractCalculationMonitor

Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)

Монитор для отслеживания прогресса вычисления формул.

public abstract class AbstractCalculationMonitor

Наследование

objectAbstractCalculationMonitor

Унаследованные члены

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Примеры

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("Ячейка A1 будет вычислена.");
    }
}

Конструкторы

AbstractCalculationMonitor()

protected AbstractCalculationMonitor()

Свойства

CalculatedValue

Получает вновь вычисленное значение ячейки. Должно использоваться только в Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).

public object CalculatedValue { get; }

Значение свойства

object

OriginalValue

Получает старое значение вычисленной ячейки. Должно использоваться только в Aspose.Cells.AbstractCalculationMonitor.BeforeCalculate(System.Int32,System.Int32,System.Int32) и Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).

public object OriginalValue { get; }

Значение свойства

object

ValueChanged

Изменилось ли значение ячейки после вычисления. Должно использоваться только в Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).

public bool ValueChanged { get; }

Значение свойства

bool

Методы

AfterCalculate(int, int, int)

Реализуйте этот метод для выполнения действий после вычисления одной ячейки.

public virtual void AfterCalculate(int sheetIndex, int rowIndex, int colIndex)

Параметры

sheetIndex int

Индекс листа, к которому принадлежит ячейка.

rowIndex int

Индекс строки ячейки

colIndex int

Индекс столбца ячейки

BeforeCalculate(int, int, int)

Реализуйте этот метод для выполнения действий перед вычислением одной ячейки.

public virtual void BeforeCalculate(int sheetIndex, int rowIndex, int colIndex)

Параметры

sheetIndex int

Индекс листа, к которому принадлежит ячейка.

rowIndex int

Индекс строки ячейки

colIndex int

Индекс столбца ячейки

Interrupt(string)

protected void Interrupt(string msg)

Параметры

msg string

OnCircular(IEnumerator)

Реализуйте этот метод для выполнения действий при вычислении формул с круговыми ссылками.

public virtual bool OnCircular(IEnumerator circularCellsData)

Параметры

circularCellsData IEnumerator

IEnumerator с элементами Aspose.Cells.CalculationCell, представляющими ячейки, которые зависят от круговых ссылок.

Возвращает

bool

Необходимо ли движку формул вычислить эти ячейки в круге после этого вызова. True, чтобы позволить движку формул продолжить вычисление для них. False, чтобы позволить движку формул просто отметить эти ячейки как вычисленные.

Примечания

В реализации пользователь также может установить ожидаемое значение как вычисленный результат для части/всех этих ячеек, чтобы движок формул не вычислял их рекурсивно.

 Русский