Class AbstractCalculationMonitor
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Монитор для отслеживания прогресса вычисления формул.
public abstract class AbstractCalculationMonitor
Наследование
object ← AbstractCalculationMonitor
Унаследованные члены
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; }
Значение свойства
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; }
Значение свойства
ValueChanged
Изменилось ли значение ячейки после вычисления. Должно использоваться только в Aspose.Cells.AbstractCalculationMonitor.AfterCalculate(System.Int32,System.Int32,System.Int32).
public bool ValueChanged { get; }
Значение свойства
Методы
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, представляющими ячейки, которые зависят от круговых ссылок.
Возвращает
Необходимо ли движку формул вычислить эти ячейки в круге после этого вызова. True, чтобы позволить движку формул продолжить вычисление для них. False, чтобы позволить движку формул просто отметить эти ячейки как вычисленные.
Примечания
В реализации пользователь также может установить ожидаемое значение как вычисленный результат для части/всех этих ячеек, чтобы движок формул не вычислял их рекурсивно.