Уменьшить время вычисления метода Cell.Calculate
Возможные сценарии использования
Обычно мы рекомендуем пользователям вызвать метод Workbook.CalculateFormula() один раз, а затем получить вычисленные значения отдельных ячеек. Но иногда пользователи не хотят вычислять весь книгу. Они хотят вычислить только одну ячейку. Aspose.Cells предоставляет свойство CalculationOptions.Recursive, которое можно установить в false, и это значительно снизит время вычисления отдельной ячейки. Потому что, когда свойство рекурсии установлено в true, то все зависимые ячейки пересчитываются при каждом вызове. Но когда свойство рекурсии false, то зависимые ячейки вычисляются только один раз и не вычисляются снова при последующих вызовах.
Уменьшение времени вычисления метода Cell.Calculate()
В следующем образце кода показано использование свойства CalculationOptions.Recursive. Пожалуйста, выполните этот код с данным образцом файла Excel и проверьте его вывод в консоли. Вы увидите, что установка свойства рекурсии в false значительно уменьшила время вычисления. Пожалуйста, также прочитайте комментарии для лучшего понимания этого свойства.
Вывод в консоль
Это вывод консоли вышеприведенного образца кода при выполнении с данным образцом файла Excel на нашей машине. Обратите внимание, что ваш вывод может отличаться, но затраченное время после установки свойства рекурсии в false всегда будет меньше, чем при установке его в true.
Recursive True: 96 seconds
Recursive False: 42 seconds