Ver Mensaje Individual
  #6  
Antiguo 05-08-2008
luchifer luchifer is offline
No confirmado
 
Registrado: jul 2007
Ubicación: Santa Cruz - Bolivia
Posts: 50
Reputación: 0
luchifer Va por buen camino
Enviar datos a Excel

Mira Utilizo esta rutina y me funciona muy bien:
ojo el Qcon_det es la consulta

procedure TFlis_comprob.manda_xls;
var Rango:Excel2000.Range;
I, row:integer;
bookmark:tbookmarkstr;
begin
Excelapplication1.Visible[0]:=true;
Excelapplication1.Workbooks.Add(null,0);
Rango:=Excelapplication1.ActiveCell;
for i:=0 to Qcon_det.FieldCount-1 do
begin
rango.Value:=Qcon_det.Fields[i].DisplayLabel;
rango:=rango.Next;
end;
Qcon_det.DisableControls;
bookmark:=Qcon_det.Bookmark;
Qcon_det.First;
row:=2;
while not Qcon_det.Eof do
begin
rango:=Excelapplication1.Range['A'+Inttostr(row),'A'+inttostr(row)];
for i:=0 to Qcon_det.FieldCount-1 do
begin
rango.Value:=Qcon_det.Fields[i].AsString;
rango:=rango.Next;
end;
Qcon_det.Next;
inc(row);
end;
Qcon_det.EnableControls;
rango:=Excelapplication1.Range['a1','e'+inttostr(row-1)];
rango.AutoFormat(1,null,null,null,null,null,null);
end;

Aunque la verdad no se para que enviar mas de 500 registros a excel; Ahora si quieres migrar la informacion, existen otros metodos mas directos y dependiendo de la base de datos, por ejm oracle te sube los datos directamente con una sola instruccion y en los campos que se le dice al igual que el sql.
Para cualquier consulta avisame OK

Luis Fernando
Responder Con Cita