PDA

Ver la Versión Completa : Exportar a excel con mas de 1 hoja


Perio
24-01-2006, 00:19:46
Hola.

Ya el titulo lo dice todo, no puedo lograr exportar documentos excel con mas de una hoja, estube buscando en el foro y ya alguien pregunto por este tema pero en el 2003, tal vez ajguien pueda contestar ahora...

Probe tambien mirando el codigo de una macro autogenerada pero no me funciono.

Un saludo.
Perio

Fernando
24-01-2006, 05:55:54
Hola Foromaniaco:

Visita la página www.delphi.com.ar de nuestro compañero idem.

Saludos.

Perio
24-01-2006, 13:04:55
Hola fernado:

Te agradesco mucho la respuesta, pero no encontre nada de exportaciones excel en www.delphi.com.ar (http://www.delphi.com.ar), recirri un poco los ejemplos pero no encontre nada...

Saludos
Perio

Perio
24-01-2006, 16:34:03
Hola.

Ya lo pude resolver, (paresco un lunático, hago preguntas y me las contesto).
Lo resolvi de la sig manera, lo pongo para que si alguien lo necesite ya quede en el foro, o para ese que pregunto lo mismo en mayo del 2003, si todavia no lo pudo hacer :) , se hace así :


procedure TForm1.exportarExcel();
var
XApp:Variant;
sheet, sheet2:Variant;
r,c:Integer;
q:Integer;
row,col:Integer;
i:Integer;
begin
try
begin
XApp:=CreateOleObject('Excel.Application');
end;
except
showmessage('Cagaste, no tenes excel instalado.');
exit;
end;
//Abre un nuevo workbook
XApp.WorkBooks.Add(-4167);
//Agrega una hoja
XApp.WorkBooks[1].WorkSheets.add;
//Nombra las hojas
XApp.WorkBooks[1].WorkSheets[1].Name:='Sheet1';
XApp.WorkBooks[1].WorkSheets[2].Name:='Sheet2';
//Referencia a cada hoja con una variable
sheet := XApp.WorkBooks[1].WorkSheets['Sheet1'];
sheet2 := XApp.WorkBooks[1].WorkSheets['Sheet2'];
//carga datos
for i := 0 to 10 do
begin
sheet.Cells[1,i+1]:='Titulo';
sheet2.Cells[1,i+1]:='Titulo';
end;
//Carga datos
for r:=0 to 10 do
for c:=0 to 10 do
begin
//El rango de celdas está desplazado, con esto se acomoda
row:=r+2;
col:=c+1;
sheet.Cells[row,col]:='Dato';
sheet2.Cells[row,col]:='Dato';
end;
XApp.WorkSheets['Sheet1'].Range['A1:AA1'].Font.Bold:=True;
XApp.WorkSheets['Sheet1'].Range['A1:AA1'].Font.Color := clblue;
XApp.WorkSheets['Sheet1'].Range['A1:AA1'].Font.Color := clblue;
XApp.WorkSheets['Sheet1'].Range['A1:K1'].Borders.LineStyle :=13;

XApp.WorkSheets['Sheet1'].Range['A1:K11'].HorizontalAlignment := 3;
XApp.WorkSheets['Sheet1'].Columns[1].ColumnWidth:=10;
XApp.WorkSheets['Sheet1'].Columns[2].ColumnWidth:=10;
XApp.WorkSheets['Sheet1'].Columns[3].ColumnWidth:=15;
XApp.WorkSheets['Sheet1'].Columns[4].ColumnWidth:=6;
XApp.WorkSheets['Sheet1'].Columns[5].ColumnWidth:=18;
XApp.WorkSheets['Sheet1'].Columns[6].ColumnWidth:=9;
XApp.WorkSheets['Sheet1'].Columns[7].ColumnWidth:=23;
XApp.WorkSheets['Sheet1'].Columns[8].ColumnWidth:=23;
XApp.WorkSheets['Sheet1'].Columns[9].ColumnWidth:=23;
XApp.WorkSheets['Sheet1'].Columns[10].ColumnWidth:=10;
xApp.caption := 'Exportado por Gracha-Expoted inc.';
XApp.Visible:=true;
end;

Fernando
25-01-2006, 02:06:42
Hola Perio:

Parece ser que no buscaste bien.

www.delphi.com.ar

clic en Componentes

FireSoft ExportSuite

Salu2.

Perio
25-01-2006, 14:21:11
Ferbado:
Gracias por la respuesta y si tenias razon, no busqué bien. En realidad no encontre lo que me dijiste por que pensaba encontrar algo de código y vos te referias a componentes.
Éstos están interesantes por que como dice genera los xls en forma nativa sin necesitar office. Voy a tener que probarlos.

Saludos desde argentina

Perio

roman
25-01-2006, 17:03:48
Ferbado:


¡Cuídate ese resfriado! :D

// Saludos