Ускорение времени вычисления метода Cell.Calculate с Golang через C++

Возможные сценарии использования

Обычно мы рекомендуем пользователям вызывать метод Workbook.CalculateFormula() один раз и затем получать рассчитанные значения отдельных ячеек. Но иногда пользователи не хотят вычислять всю книгу. Они просто хотят вычислить одну ячейку. Aspose.Cells предоставляет свойство CalculationOptions.GetRecursive(), которое можно установить в false, что значительно уменьшит время вычисления отдельных ячеек. Потому что при установленном свойстве recursive в true, все зависимые ячейки пересчитываются при каждом вызове. Но при значении false зависимые ячейки вычисляются только один раз и не пересчитываются при последующих вызовах.

Уменьшение времени вычисления метода Cell.Calculate()

Следующий пример иллюстрирует использование свойства CalculationOptions.GetRecursive(). Пожалуйста, выполните этот код с указанным образцом файла Excel и проверьте вывод в консоли. Вы заметите, что установка свойства recursive в false значительно ускоряет вычисление. Также читайте комментарии для лучшего понимания этого свойства.

Вывод в консоль

Это вывод консоли вышеуказанного кода при выполнении его с указанным образцом файла Excel на нашей машине. Обратите внимание, что ваш вывод может отличаться, но затраченное время после установки свойства recursive в false всегда будет меньше, чем при его установке в true.

Recursive True: 96 seconds

Recursive False: 42 seconds