Показать сообщение отдельно
Старый 31.05.2011, 12:46   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Поячеечное заполнение (в смысле, отдельной командой заполнять каждую ячейку) всегда будет работать относительно медленно. Общая стратегия ускорения вывода - это команды групповой вставки значений. Заполнение многих ячеек одной командой. В идеале, заполнение сразу всех ячеек одной командой. Как правило, это реализуется одним из следующих способов

1. Буфер обмена
2. RecordSet
3. Выгрузка в промежуточные файлы
4. Запрос из макроса Excel напрямую к внешним данным

Если же у Вас "работало быстро", а потом вдруг стало "работать медленно" при этом сам код не менялся и объем выгружаемых данных остался примерно тем же, то надо смотреть настройки Excel, а также настройки операционной системы. Может, антивирус криво настроен. Может с правами доступа что-то намудрили.

И еще, надеюсь, Вы используете предварительно сформированные шаблоны Excel. Т.е. файлы XLT. Создание отчетов "с нуля" или использование в качестве шаблонов обычных файлов XLS, также существенно замедляет формирование отчетов.
За это сообщение автора поблагодарили: Leopold Stotch (1).