![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Error al exportar a excel
Buenas a todos.
Tengo un problema a la hora de exportar una lista a excel. Lo que pasa es que el error solo me lo da cuando la lista es muy grande. Con unos 2000 elementos no hay problema, pero cuando son unos 3000 me da error. El código que utilizo es el siguiente: Código:
var
Excel,xlw : Variant;
fichero,temp : String;
i,j : integer;
creado:boolean;
l1 : TListItem;
MisDoc,XLSFILE:string;
begin
F_MAIN.Cursor:=crhourglass;
TRY
save.Title :='Exportar Incidencias';
save.FileName:='';
save.Execute;
XLSFILE:=save.FileName;
if XLSFILE <> '' then
begin
i:=0;
j:=0;
creado:=false;
try
begin
Excel := CreateOLEObject('Excel.Application');
// Excel.WorkBooks.Add;
xlw:=Excel.WorkBooks.add;
creado:=true;
end;
except
begin
Excel.Quit;
raise;
end;
end; //fin try
//***** RECORREMOS EL LISTVIEW E INSERTAMOS LOS DATOS EN EL OBJETO EXCEL *****//
Excel.Cells[1,1].Value:='"Fecha"';
Excel.Cells[1,2].Value:='"Evento"';
Excel.Cells[1,3].Value:='"Puerta"';
Excel.Cells[1,4].Value:='"Descripcion"';
while (i < Lista_incidencias.Items.Count) do
begin
while (j < 4) do
begin
try
begin
//***** Acceso a las celdas *****//
Excel.Cells[i+2,j+1].Value:=Lista_incidencias.Items[i].SubItems.strings[j];
j:=j+1;
end;
except
begin
Excel.Quit;
creado:=false;
raise;
end;
end;
end;
i:=i+1;
j:=0;
end; //fin while
//***** GUARDAMOS EL OBJETO EXCEL *****//
if (creado = true) then
begin
TRY
xlw.SaveAs(FileName:=XLSFILE, Password := '');
// Excel.Save;
FINALLY
Excel.Quit;
END; //fin try
end else Excel.Quit;
end;
end;
Muchas gracias a todos y Saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior. |
|
#2
|
||||
|
||||
|
Aparte de que podamos ser más o menos adivinos...¿Cual es el error que te da?
![]()
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
||||
|
||||
|
Disculparme, es que ayer con las prisas se me paso poner el error.
Me decía que estaba fuera de rango. El problema estaba en la lista, que cuando hacía la inserción, cada vez introducía unos datos y no me había dado cuenta que en algunas ocasiones introducía menos campos. Por eso me decía que estaba fuera de rango, porque no estaban los SubItems de la lista. Muchas gracias y saludos.
__________________
De lo bueno lo mejor, de lo mejor lo superior. |
|
#4
|
||||
|
||||
|
Entonces, ¿ya está solucionado?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
||||
|
||||
|
Si, ya está solucionado el problema.
![]()
__________________
De lo bueno lo mejor, de lo mejor lo superior. |
![]() |
|
|
|