Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Resultado en Excel (https://www.clubdelphi.com/foros/showthread.php?t=18129)

alcides 02-02-2005 16:56:42

Resultado en Excel
 
Hola a todos,
estoy usando delphi 7 y para mis reportes ReportBuilder, la pregunta es:
se puede exportar mi resultado a Excel, si lo es que componente usar.

Gracias

Alcides
Rep.Dom.

lgarcia 02-02-2005 17:58:07

Resultado en Excel
 
El componente que debes usar es ExcelApplication de la Paleta Server. Ahi te envio un codigo con el que puedes utilizar una plantilla de Excel.

procedure TFormLoteVentas.tton2Click(Sender: TObject);
var
Excel, Libro: Variant;
i: integer;
Nombre: string;
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Visible := False;
Excel.DisplayAlerts:= False;
Excel.WorkBooks.Add('C:\Archivos de programa\Tienda\Plantilla.xlt');
Excel.WorkBooks[1].WorkSheets[1].Name := 'Reporte';
Libro := Excel.WorkBooks[1].WorkSheets['Reporte'];
MostrarLote.First;
i:= 2;
while not (MostrarLote.Eof) do
begin
Libro.Cells [i,1] := MostrarLotecodtrasval.Value;
Libro.Cells [i,2] := MostrarLotedescripcionplu.Value;
Libro.Cells [i,3] := MostrarLotecantidad.Value;
Libro.Cells [i,4] := MostrarLoteprecioventa.Value;
Libro.Cells [i,5] := MostrarLotemontoventa.Value;
inc(i);
MostrarLote.Next;
end;
Nombre:= 'mi fichero';
Libro.SaveAs('C:\Archivos de programa\Tienda\' + Nombre);
ShowMessage(' El fichero ' + Nombre + ' ha sido creado exitosamente');
Excel.Quit;
end;

Donde MostrarLote es un procedimiento almacenado o una Query segun utilizes. Debes poner en el uses las Unit Excel97, ComObj.

Saludos
Luis Garcia

alcides 02-02-2005 18:51:42

Gracias por tu ayuda lgarcia, voy a probar y te hago saber.

Alcides
Rep.Dom.

alcides 02-02-2005 20:46:55

hola igarcia
quiero decirte que en la compilacion tiene el siguiente error:
Undeclared Identifier 'CreateOleOject'.

Alcides
Rep.Dom.

roman 02-02-2005 20:55:27

Cita:

Empezado por alcides
en la compilacion tiene el siguiente error:
Undeclared Identifier 'CreateOleOject'.

¿Leíste la última parte del mensaje de lgarcia?


Cita:

Empezado por lgarcia
Debes poner en el uses las Unit Excel97, ComObj.

// Saludos

alcides 03-02-2005 13:30:07

Gracias roman
por la observación

Alcides
Rep.Dom.

ainclanmx 11-02-2005 20:13:17

Si funciona, Pero......
 
Saludos

Probe el codigo y funciona muy bien, lo probe con una rutina que copia un stringGrid a excel, pero hoy tuve un problema, al ejecutar la aplicacion me marca el error :

Version Incompatible de la Rutina Auxiliar (STUB) de RPC

en la linea excel := CreateOleObjet('Excel.Application');

sinceramente no tengo idea que pueda ser, Podrian ayudarme?

Gracias

herodes 23-02-2005 18:31:23

siguiendo el tema
 
Yo estoy con el mismo problema , quisiera pasar a un excel mediante un boton lo que me muestra una grilla , la cual saca los datos de un oraquery y no se como hacerlo.


La franja horaria es GMT +2. Ahora son las 03:21:25.

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