![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
He estado leyendo el hilo que me comentaste. A la hora de acceder a las celdas y eso, me ha quedado claro, pero no demasiado a la hora de crear un nuevo archivo XLS, quizá es que no llevo demasiado tiempo con delphi, pero me lio un poco.
Me gustaría guardarlo en un archivo que no exista, mediante un "savedialog". A continuación pongo el código que estoy utilizando, no se si estará correcto o que, ya me decis si hay algún error o como lo podría hacer. ******************************************************** ******************************************************** procedure Texcel.ExportarClick(Sender: TObject); var XL : Variant; fichero : String; i,j : integer; begin i:=0; j:=0; savedialog1.Execute; fichero:=savedialog1.FileName; if fichero <> '' then begin try XL := CreateOLEObject('Excel.Application'); except XL.Quit; showmessage('No se pudo crear el Objecto Excel o se produjo algún error.'); raise; end; XL.WorkBooks.Add; while (i < ListView1.Items.Count) do begin while (j < 4) do begin try begin //***** Acceso a las celdas *****// XL.Cells[i+1,j+1].Value:=ListView1.Items[i].SubItems.strings[j]; j:=j+1; end; except XL.Quit; showmessage('No se pudo crear el Objecto Excel o se produjo algún error.'); raise; end; end; i:=i+1; j:=0; end; try begin XL.Save; end; except XL.Quit; showmessage('No se pudo crear el Objecto Excel o se produjo algún error.'); raise; end; XL.Quit; end; end; ******************************************************** ******************************************************** Gracias. Última edición por weke fecha: 10-05-2004 a las 13:08:42. |
|
#2
|
||||
|
||||
|
Es imposible leer este código. Te recomiendo que leas el anuncio que aparece al principio de cada foro y que edites tu mensaje usando las etiquetas apropiadas y con la indentación correcta.
// Saludos |
|
#3
|
||||
|
||||
|
Lo siento mucho, es que cuando puse el código me tenía que ir y no me fije si estaba tabulado o no. Mil disculpas. Ahora te lo pongo en condiciones para ver si hago alguna cosa mal, he estado dandole vueltas otro rato, pero no se que más hacer.
Código:
procedure Texcel.ExportarClick(Sender: TObject);
var
XL : Variant;
fichero : String;
i,j : integer;
creado:boolean;
begin
i:=0;
j:=0;
creado:=false;
savedialog1.Execute;
fichero:=savedialog1.FileName;
if fichero <> '' then
begin
try
begin
XL := CreateOLEObject('Excel.Application');
creado:=true;
end;
except
begin
XL.Quit;
showmessage('No se pudo crear el Objecto Excel o se produjo algún error.');
raise;
end;
end;
XL.WorkBooks.Add;
while (i < ListView1.Items.Count) do
begin
while (j < 4) do
begin
try
begin
//***** Acceso a las celdas *****//
XL.Cells[i+1,j+1].Value:=ListView1.Items[i].SubItems.strings[j];
j:=j+1;
end;
except
begin
XL.Quit;
creado:=false;
showmessage('No se pudo crear el Objecto Excel o se produjo algún error.');
raise;
end;
end;
end;
i:=i+1;
j:=0;
end;
if (creado = true) then
try
begin
XL.Save;
end;
except
begin
XL.Quit;
showmessage('No se pudo guardar el Objecto Excel o se produjo algún error.');
raise;
end;
end;
XL.Quit;
end;
end;
Espero que ahora este lo suficiente claro, solo llevo una semana registrado y todavía no controlo mucho. Espero que esto sirva para que me puedan sacar de dudas. Gracias y lo siento, otra vez. Saludos. Última edición por weke fecha: 12-05-2004 a las 14:15:09. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|