Ускорение времени вычисления метода 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