Поячеечное заполнение (в смысле, отдельной командой заполнять каждую ячейку) всегда будет работать относительно медленно. Общая стратегия ускорения вывода - это команды групповой вставки значений. Заполнение многих ячеек одной командой. В идеале, заполнение сразу всех ячеек одной командой. Как правило, это реализуется одним из следующих способов
1. Буфер обмена
2. RecordSet
3. Выгрузка в промежуточные файлы
4. Запрос из макроса Excel напрямую к внешним данным
Если же у Вас "работало быстро", а потом вдруг стало "работать медленно" при этом сам код не менялся и объем выгружаемых данных остался примерно тем же, то надо смотреть настройки Excel, а также настройки операционной системы. Может, антивирус криво настроен. Может с правами доступа что-то намудрили.
И еще, надеюсь, Вы используете предварительно сформированные шаблоны Excel. Т.е. файлы XLT. Создание отчетов "с нуля" или использование в качестве шаблонов обычных файлов XLS, также существенно замедляет формирование отчетов.
|