Экспорт в Excel длится довольно долго. Как можно уведомлять пользователя о ходе выполнения работы?
Чтобы пользователь не подумалб что во время экспорта данных в Excel ваша программа и Excel "висит", лучше уведомлять его о ходе работы. Т.к. обновление экрана занимает довольно много времени и так довольно длительного процесса экспорта (хотя все же стоит подумать, как этот процесс оптимизировать и ускорить), то лучшим выходом из этой ситуации является показ этапов работы в свойстве ExcelApplication.StatusBar:
Delphi:
XL.DisplayStatusBar[lcid] := True; // покажем StatusBar, если его не было видно
XL.StatusBar[lcid] := 'Читаем'; //
XL.StatusBar[lcid] := 'Пишем'; //
XL.StatusBar[lcid] := 'Считаем'; //
XL.StatusBar[lcid] := False; // уберем наше последнее сообщение
C#:
XL.DisplayStatusBar = true; // XL.StatusBar = "Текст в статусбаре"; // XL.StatusBar = false; // "Готово"
DisplayStatusBar Property
StatusBar Property