FastreportExport adalah perpustakaan untuk ekspor laporan laporan cepat untuk lingkungan multithreading dan bukan GUI (antarmuka pengguna grafis) .
Diimplementasikan dalam bahasa Delphi, ia menggunakan konsep antarmuka yang lancar untuk memandu penggunaan perpustakaan, yang dirancang untuk mengekspor laporan dalam format PDF, HTML, PNG, antara lain, sesuai kebutuhan.
Lingkungan
Untuk menggunakan FasTreportExport , Anda perlu menginstal komponen laporan cepat.
Menggunakan bos (Manajer Ketergantungan untuk Delphi) dimungkinkan untuk menginstal perpustakaan secara otomatis.
boss install github.com/antoniojmsjr/FastReportExport
Jika Anda memilih untuk menginstal secara manual, cukup tambahkan folder berikut ke proyek Anda, di Project> Options> Delphi Compiler> Target> Semua Konfigasi> Jalur Pencarian
..FastReportExportSource
Penyedia adalah antarmuka yang digunakan oleh perpustakaan untuk mengekspor laporan yang menyediakan kelas TFRXCustomExporFilter untuk konfigurasi, dan dapat diperluas untuk mengimplementasikan format file lainnya.
| Mengajukan | Penyedia | TFRXCUSTOMEXPORTFILTER |
|---|---|---|
| Ifrexportpdf | TFRXPDFExport | |
| Html | IfrexporthTml | Tfrxhtmlexort |
| Png | Ifrexportpng | Tfrxpngexport |
| BMP | Ifrexportbmp | TFRXBMPExport |
| Jpeg | IFREXPORTJPEG | Tfrxjpegexport |
| CSV | Ifrexportcsv | Tfrxcsvexport |
| RTF | Ifrexportrtf | TFRXRTFEXPORT |
| Xls | IFREXPORTXLS | TFRXXLSEXPORT |
| Xlsx | IFREXPORTXLSX | TFRXXLSXExport |
| Docx | IfrexportDocx | TFRXDOCXExport |
Contoh
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 ;Dataset adalah antarmuka yang digunakan oleh perpustakaan untuk komunikasi dengan database melalui komponen:
| Kelas | Komponen |
|---|---|
| Chit | Warga asli |
| TFRXDBDataset | Laporan Cepat |
Untuk mencontohkan penggunaan perpustakaan , data API lokasi IBGE digunakan untuk menghasilkan dan mengekspor laporan.
Ekspor Contoh Arsip: Localitiesibge.pdf
Contoh tersedia di folder proyek:
..FastReportExportSamples
Contoh database
..FastReportExportSamplesDB
Contoh Laporan
..FastReportExportSamplesReport
Contoh
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 ;Contoh Disusun
Unduh: demo.zip
Tes Stres untuk Aplikasi Web Menggunakan JMeter:
..FastReportExportSamplesJMeter
FastReportExport gratis dan perangkat lunak sumber terbuka yang dilisensikan di bawah