Nee, noch anders
Anstatt die Daten in Dein DBGrid zu schreiben (ok, musst Du evtl. zur Anzeige beim User) schreibst Du Dir eine Routine, um die Daten direkt nach Excel zu schreiben. Du führst also Deine
SQL-Abfrage aus und schreibst dann zeilenweise die Daten nach Excel.
Schau Dir dazu mal die Office-Komponenten in Delphi an, das geht sehr gut und einfach damit.
Gruß Igotcha