Excel-оптимизация файлов
Я работаю с довольно большим документом Excel (~9 МБ) размером, который имеет более 60 листов и каждый из которых содержит много формул CUBEVALUE в нем.
Этот документ открывается за 2 минуты (не считая обновления значений), и хотя я прочитал много рекомендаций, например:
- разделение листов (невозможно из-за природы этого файла)
- более короткие формулы, (невозможно)
- тестируется как на 32, так и на 64 битах (производительность не заметно разные)
Мне было интересно, если вы, ребята, наткнулись на какие-либо способы оптимизации времени открытия для Excel без существенного изменения содержимого в нем, или любые другие предложения.
2 ответов:
Сохраните его как двоичную книгу Excel (.xlsb). Вы можете сохранить макросы, размер файла будет составлять 25-35% от исходного и многие операции (не только открытие/закрытие) будут выполняться быстрее.
Избавьтесь от любых неустойчивых функций, которые пересчитывают лист без необходимости. Косвенные, смещение, адрес, сегодня и сейчас входят в список волатильных функций. Большинство из них можно заменить энергонезависимыми альтернативами.
Улучшить оставшийся расчет рабочая книга, делая формулы и функции рабочего листа более эффективными. Помощь по этому вопросу доступна на странице Code Review - Excel, партнер StackExchange. Никаких примеров не приводилось, поэтому никакой конкретной помощи не предлагалось.
Улучшите время выполнения любой подпроцедуры cod на том же сайте. Большие блоки должны обрабатываться "в памяти" с массивами, а не циклически по ячейкам и т. д. Опять же, никаких примеров не приводилось, поэтому никакой конкретной помощи не предлагалось.
Если вы используете корпоративную сеть, попробуйте сначала загрузить файл на локальный компьютер, а затем открыть.
Это также может зависеть от наличия ссылок на другие файлы, постарайтесь свести их количество к минимуму, если таковые имеются.
Несомненно, объем данных в вашем файле-это основной драйвер времени открытия.
Comments