Creo que lo que quieres hacer se puede realizar perfectamente con Paradox, porque 8.000 registros los puede manejar sin gran dificultad, el problema quizás venga dado porque mientras actualizas no desconectas la rejilla de la fuente de datos y esto hace que vaya lento prueba y nos cuentas.
Código Delphi
[-] DmXX.Cli.DisableControls;
Try
while not(Data.eof) do
begin
for columna := 0 to Dbgrid1.Columns.Count-1
do
begin
excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Dbgrid1.Columns[columna].FieldName).asString;
end;
Data.Next;
fila:= fila + 1;
end;
Except
ShowMessage('Atención, se produjo un error en la transmisión.');
end;
DmXX.Cli.EnableControls;
end;
Un Saludo.