Как сделать, чтобы Excel работал быстрее?
Для ускорения работы с Excel'ем можно сделать следующие шаги:
Delphi:
// запретить перерисовку экрана
XL.ScreenUpdating[lcid] := False;
// отменить автоматическую калькуляцию формул
XL.Calculation[lcid] := xlManual;
// отменить проверку автоматическую ошибок в ячейках (для XP и выше)
with XL.ErrorCheckingOptions do begin
BackgroundChecking := False; NumberAsText := False; InconsistentFormula := False; end;
Не использовать метод Select, и, как следствие, свойство Selection (смотрите дальше).
Существенно повышается скорость, если вместо записи в каждую ячейку использовать запись из VarArray (смотрите дальше про объект Range). В Demo-проекте есть тест затраченного времени для различных методов записи.
Так как основное время работы с Excel'ем затрачивается на перерисовку (установка отступов для страницы, размеров строк и столбцов, атрибуты шрифтов и т.д.), то лучше всего использовать заранее подготовленный шаблон.