Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-09-2007
vipernet vipernet is offline
Miembro
 
Registrado: may 2006
Posts: 14
Poder: 0
vipernet Va por buen camino
excel lento

Buenas a todos, tengo un problema con la velocidad en la que se me generan los informes de excel, en el sistema se generan reportes a excel que no tienen menos de 1000 lineas y algunos llegan hasta las 65000, y se necesita si o si que los informes los genere a excel, pero el sistema tarda demasiado en generar los informes, mas especificamente en pegar los datos en la planilla. yo les dejo aca el codigo para ver que esta mal o que se puede mejorar(seguro que la mayoria de las cosas), pero tambien estuve buscando y no encontre el famoso componente datatoxls, queria ver si con ese componente podia aumentar la velocidad de generacion.

les comento que para generar un reporte de 9000 lineas tardo 3 minutos!!
y lo tarda en importarlas al excel, porque ya comprobe que la consulta la realiza en 1"

bueno, les dejo el codigo de la importacion.

saludos y gracias!!!!

procedure Tinfgastmens.Button1Click(Sender: TObject);
var i : integer;
begin
tinfgastomensual.Close;
tinfgastomensual.Prepared;
tinfgastomensual.Parameters.ParamValues ['@fecha1']:= datetimepicker1.Date;
tinfgastomensual.Parameters.ParamValues ['@fecha2']:= datetimepicker2.Date;
tinfgastomensual.Open;
excel.Workbooks.Add('C:\Sistemas vientos\sistemas ordenes de compra\reportes\listherrcargo.xls',0);
excel.Cells.Item[5,2]:=date;
for i:=0 to tinfgastomensual.RecordCount -1 do
begin
excel.Cells.Item[i+9,1]:=tinfgastomensual.FieldValues['apellido'];
excel.Cells.Item[i+9,2]:=tinfgastomensual.FieldValues['nombre'];
excel.Cells.Item[i+9,3]:=tinfgastomensual.FieldValues['area'];
excel.Cells.Item[i+9,4]:=vartostr (tinfgastomensual.FieldValues['tel']);
excel.Cells.Item[i+9,5]:=tinfgastomensual.FieldValues['cargo'];
excel.Cells.Item[i+9,6]:=tinfgastomensual.FieldValues['categoria'];
excel.Cells.Item[i+9,7]:=tinfgastomensual.FieldValues['denominacion'];
excel.Cells.Item[i+9,8]:=tinfgastomensual.FieldValues['cant'];
excel.Cells.Item[i+9,9]:= (tinfgastomensual.FieldValues['cant'] * tinfgastomensual.FieldValues['precio']);
excel.Cells.Item[i+9,10]:=tinfgastomensual.FieldValues['fecha'];
excel.Cells.Item[i+9,11]:=tinfgastomensual.FieldValues['intdest'];
excel.Cells.Item[i+9,12]:=tinfgastomensual.FieldValues['zonadest'];
label3.Caption := inttostr (i);
tinfgastomensual.next
end;
tinfgastomensual.First;
excel.Visible[0]:=true;
tinfgastomensual.Close;
infgastmens.close;
excel.Disconnect;
excel.Quit;
end;
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
excel a delphi, como mostrar columnas de excel Vyckso Servers 2 13-08-2007 12:38:08
Procedure en Firebird lento o IbQuery lento capo979 Firebird e Interbase 14 17-07-2007 21:35:36
MDI lento tomasgarcia OOP 1 27-07-2004 20:28:05
lento carlomagno Firebird e Interbase 4 02-07-2004 13:48:08
Cuando imprimen en excel o word se pone lento el sistema tulio Varios 0 07-04-2004 14:56:37


La franja horaria es GMT +2. Ahora son las 23:27:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi