При создании и тестировании пользовательских функций для надстройки Office JS я измерил производительность для разных платформ и получил совершенно разные результаты. Я ищу возможности для улучшения, в частности, я хотел бы знать, можно ли и как отключить автоматическое сохранение в Office в Интернете, потому что это кажется причиной по крайней мере одной из моих проблем.
Две основные проблемы:
- Рабочий стол Excel в версии для Windows работает довольно медленно
- Excel Online не поддерживает большое количество функций
Таким образом, Excel онлайн даже выйдет из строя, если в нем будет много функций. Он попытается защититься, и связь с сервером прервется, показывая сообщение о невозможности подключения к серверу.
Мы протестировали поведение Excel с помощью
- очень простая функция, просто возвращающая текущее значение даты и времени
- более сложная функция, которая получает информацию, рассчитанную на веб-сервере
Итак, в зависимости от того, какой сценарий мы тестируем, результаты будут одинаковыми. В более сложном случае Excel Online завершает работу примерно при 50 000 формул, а в простом сценарии - где-то между 50 000–100 000 формул.
Что касается производительности, кажется, что пока работает Excel Online, он работает так же быстро, как Excel на MAC, и оба в два раза быстрее, чем Excel Desktop в Windows. Не говоря уже о том, что COM и даже VBA намного быстрее, чем любой Javascript, добавляемый во время выполнения.
Так есть ли способ отключить автобезопасность, или я просто заблуждаюсь, даже пытаясь запустить такие большие рабочие листы с помощью Excel онлайн и технологии Office JS? Следует ли все же делать такие вещи с помощью технологии COM? Мне очень нравится совместимость надстроек JS ...