FastreTePortexport ist eine Bibliothek für den Export von schnellen Berichten für Multithreading und nicht für GUI -Umgebungen (Grafical User Interface) .
In der Delphi -Sprache implementiert das Fluent -Schnittstellenkonzept, um die Verwendung der Bibliothek zu leiten, mit der Berichte in PDF-, HTML- und PNG -Formaten nach Bedarf exportiert werden.
Umgebungen
Um FastrePortexport zu verwenden, müssen Sie die schnelle Berichtskomponente installieren.
Verwenden des Chefs (Abhängigkeitsmanager für Delphi) können die Bibliothek automatisch installiert werden.
boss install github.com/antoniojmsjr/FastReportExport
Wenn Sie manuell installieren möchten, fügen Sie einfach die folgenden Ordner zu Ihrem Projekt hinzu, in Projekt> Optionen> Delphi Compiler> Ziel> Alle Konfigurationen> Suchpfad
..FastReportExportSource
Die Anbieter sind eine Schnittstelle, die von der Bibliothek verwendet wird, um die Berichte zu exportieren, die die TFRXCustomexporfilter -Klasse für die Konfiguration liefert und auf andere Dateiformate erweitert werden können.
| Datei | Anbieter | TFRXCUSTOMEXPORTFILTER |
|---|---|---|
| Ifrexportpdf | TFRXPDFEXPORT | |
| Html | IfrexPorthtml | Tfrxhtmlexort |
| Png | Ifrexportpng | TFRXPNGEXPORT |
| Bmp | Ifrexportbmp | TFRXBMPEXPORT |
| JPEG | Ifrexportjpeg | TFRXJPEGEXPORT |
| CSV | Ifrexportcsv | TFRXCSVEXPORT |
| RTF | Ifrexportertf | Tfrxrtfexport |
| Xls | Ifrexportxls | Tfrxxlsexport |
| Xlsx | Ifrexportxlsx | Tfrxxlsxexport |
| Docx | Ifrexportdocx | TFRXDOCXEXPORT |
Beispiel
var
lFRExportPDF: IFRExportPDF;
lFRExportHTML: IFRExportHTML;
lFRExportPNG: IFRExportPNG;
begin
// PROVIDER PDF
lFRExportPDF := TFRExportProviderPDF.New;
lFRExportPDF.frxPDF.Subject := ' Samples Fast Report Export ' ;
lFRExportPDF.frxPDF.Author := ' Antônio José Medeiros Schneider ' ;
// PROVIDER HTML
lFRExportHTML := TFRExportProviderHTML.New;
// PROVIDER PNG
lFRExportPNG := TFRExportProviderPNG.New;
lFRExportPNG.frxPNG.JPEGQuality := 100 ;
end ;Datasets ist eine Schnittstelle, die von der Bibliothek zur Kommunikation mit der Datenbank über die Komponenten verwendet wird:
| Klasse | Komponente |
|---|---|
| Zettel | Einheimisch |
| TFRXDBDATASET | Schneller Bericht |
Um die Verwendung der Bibliothek zu veranschaulichen , wurden die IBGE -Standorte -API -Daten zum Generieren und Exportieren des Berichts verwendet.
Exportbeispiel Archive: Localitysibge.pdf
Beispiele finden Sie im Projektordner:
..FastReportExportSamples
Beispieldatenbank
..FastReportExportSamplesDB
Beispielbericht
..FastReportExportSamplesReport
Beispiel
uses FRExport, FRExport.Types, FRExport.Interfaces.Providers; var
lFRExportPDF: IFRExportPDF;
lFRExportHTML: IFRExportHTML;
lFRExportPNG: IFRExportPNG;
lFileStream: TFileStream;
lFileExport: string;
begin
// PROVIDER PDF
lFRExportPDF := TFRExportProviderPDF.New;
lFRExportPDF.frxPDF.Subject := ' Samples Fast Report Export ' ;
lFRExportPDF.frxPDF.Author := ' Antônio José Medeiros Schneider ' ;
// PROVIDER HTML
lFRExportHTML := TFRExportProviderHTML.New;
// PROVIDER PNG
lFRExportPNG := TFRExportProviderPNG.New;
lFRExportPNG.frxPNG.JPEGQuality := 100 ;
// CLASSE DE EXPORTAÇÃO
try
TFRExport.New.
DataSets.
SetDataSet(qryEstadosBrasil, ' EstadosBrasil ' ).
SetDataSet(frxdbMunicipioEstado).
SetDataSet(frxdbMunicipioRegiao).
SetDataSet(qryEstadoRegiao, ' EstadoRegiao ' ).
SetDataSet(qryMunicipios, ' Municipios ' ).
& End .
Providers.
SetProvider(lFRExportPDF).
SetProvider(lFRExportHTML).
SetProvider(lFRExportPNG).
& End .
Export .
SetFileReport(TUtils.PathAppFileReport). // LOCAL DO RELATÓRIO *.fr3
Report(procedure(pfrxReport: TfrxReport) // CONFIGURAÇÃO DO COMPONENTE DE RELATÓRIO DO FAST REPORT
var
lfrxComponent: TfrxComponent;
lfrxMemoView: TfrxMemoView absolute lfrxComponent;
begin
pfrxReport.ReportOptions.Author := ' Antônio José Medeiros Schneider ' ;
// PASSAGEM DE PARÂMETRO PARA O RELATÓRIO
lfrxComponent := pfrxReport.FindObject( ' mmoProcess ' );
if Assigned(lfrxComponent) then
begin
lfrxMemoView.Memo.Clear;
lfrxMemoView.Memo.Text := Format( ' Aplicativo de Exemplo: %s ' , [ ' VCL ' ]);
end ;
// VARIÁVEIS DO RELATÓRIO
pfrxReport.Variables.Variables[ ' DATA_HORA_IMPRESSAO ' ] := QuotedStr(DateTimeToStr(Now));
end ).
Execute; // EXECUTA O PROCESSO DE EXPORTAÇÃO DO RELATÓRIO
except
on E: Exception do
begin
if E is EFRExport then
ShowMessage(E.ToString)
else
ShowMessage(E.Message);
Exit;
end ;
end ;
// SALVAR PDF
if Assigned(lFRExportPDF.Stream) then
begin
lFileStream := nil ;
try
lFileExport := Format( ' %s%s ' , [TUtils.PathApp, ' LocalidadesIBGE.pdf ' ]);
lFileStream := TFileStream.Create(lFileExport, fmCreate);
lFileStream.CopyFrom(lFRExportPDF.Stream, 0 );
finally
FreeAndNil(lFileStream);
end ;
end ;
// SALVAR HTML
if Assigned(lFRExportHTML.Stream) then
begin
lFileStream := nil ;
try
lFileExport := Format( ' %s%s ' , [TUtils.PathApp, ' LocalidadesIBGE.html ' ]);
lFileStream := TFileStream.Create(lFileExport, fmCreate);
lFileStream.CopyFrom(lFRExportHTML.Stream, 0 );
finally
FreeAndNil(lFileStream);
end ;
end ;
// SALVAR PNG
if Assigned(lFRExportPNG.Stream) then
begin
lFileStream := nil ;
try
lFileExport := Format( ' %s%s ' , [TUtils.PathApp, ' LocalidadesIBGE.png ' ]);
lFileStream := TFileStream.Create(lFileExport, fmCreate);
lFileStream.CopyFrom(lFRExportPNG.Stream, 0 );
finally
FreeAndNil(lFileStream);
end ;
end ;
end ;Zusammengestelltes Beispiel
Download: Demo.zip
Spannungstest für Webanwendungen mit JMeter:
..FastReportExportSamplesJMeter
FastReportExport ist kostenlos und Open-Source-Software lizenziert unter dem