Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport v4.04 Professional (https://www.clubdelphi.com/foros/showthread.php?t=22130)

edy_aca 07-06-2005 16:45:36

QuickReport v4.04 Professional
 
hola de antemano muchas gracias. en la empresa en la que trabajo tienen el QuickReport v4.04 Professional mi problema consiste en que no se como exportar un reporte tal cual como se ve en la vista previa a Excel.

muchas gracias de nuevo por su valiosa ayuda

sitrico 07-06-2005 21:28:05

La "exportación" de QuickReport no genera precisamente "un reporte tal cual como se ve en la vista previa" pero yo lo genero de esta forma:

Código Delphi [-]
Procedure TCustomQRep.ExportarArchivo;
Var
fName : String;
Cur : TCursor;
Begin
SaveDialog.FileName := ReportTitle;
If SaveDialog.Execute Then
   Begin
   Cur := Screen.Cursor;
   Screen.Cursor := crHourGlass;
   FName := ChangeFileExt(SaveDialog.FileName,'');
   // Según el tipo de archivo del SaveDialog (1=txt, 2=doc, 3=xls, 4=pdf, 5=html
   Case SaveDialog.FilterIndex of
       1: ExportToFilter(TQRAsciiExportFilter.Create(FName+'.txt'));
       2: ExportToFilter(TQRRTFExportFilter.Create(FName+'.doc'));
       3: ExportToFilter(TQRXLSFilter.Create(FName+'.xls'));
       4: ExportToFilter(TQRPDFDocumentFilter.Create(FName+'.pdf'));
       5: ExportToFilter(TQRGHTMLDocumentFilter.Create(FName+'.html'));
       End;
   Screen.Cursor := Cur;
   End;
End;

edy_aca 07-06-2005 23:48:07

muchas gracia amigo pero que crees me marca error
 
muchas gracias amigo pero que crees me marca error
(lo deje solo asi para probar)

*****************************************
procedure TFVENTAS.Button2Click(Sender: TObject);
Var
fName : String;
Cur : TCursor;
Begin
SaveDialog.FileName := 'ReportTitle';
If SaveDialog.Execute Then
Begin
Cur := Screen.Cursor;
Screen.Cursor := crHourGlass;
FName := ChangeFileExt(SaveDialog.FileName,'.xls');
reporte_1.Reporte_a.ExportToFilter(reporte_1.QRExcelFilter.Create(FName+'.xls'));
Screen.Cursor := Cur;
End;
End;
******************************************

En esta linea

reporte_1.Reporte_a.ExportToFilter(reporte_1.QRExcelFilter.Create(FName+'.xls'));

[Error] pventas.pas(361): Incompatible types: 'TComponent' and 'String'

reporte_1 = es el nombre del form donde esta el quikreport
Reporte_a = es el nombre del quikreport

nota puse el objeto QRExcelFilter (con ese nombre) sobre del quickreport

sitrico 08-06-2005 17:32:50

Creo que tienes un problema con la definición del reporte dentro de un formulario (yo creo los reportes directo File->New-> Report).

De cualquier manera no es necesario incluir los componentes de importación (QRExcelFilter), basta con incluir las unidades correspondientes:

Código Delphi [-]
Uses ....., QRExport, QRExtra, QRPDFFilt, QRWebFilt

la línea:

Código Delphi [-]
ExportToFilter(TQRXLSFilter.Create(FName+'.xls'));

Usa TQRXLSFilter que no es un componente del reporte sino un objeto de la unidad QRExport.

Prueba cambiar la línea:
Código Delphi [-]
reporte_1.Reporte_a.ExportToFilter(reporte_1.QRExcelFilter.Create(FName+'.xls'));
por:
Código Delphi [-]
reporte_1.Reporte_a.ExportToFilter(TQRXLSFilter.Create(FName+'.xls'));
y Borra el componente QRExcelFilter.

edy_aca 09-06-2005 16:51:37

muchas gracias
 
muchas gracias tenias mucha razon lo he hecho como me dices y funciona muy bien muchas gracias de nuevo


La franja horaria es GMT +2. Ahora son las 01:31:37.

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