FastreportExport เป็นไลบรารีสำหรับการส่งออกรายงานรายงานที่รวดเร็วสำหรับ การมัลติเธรด และไม่ใช่สภาพแวดล้อม GUI (ส่วนต่อประสานผู้ใช้กราฟิก)
นำมาใช้ในภาษา Delphi ใช้แนวคิดอินเทอร์เฟซที่คล่องแคล่วเพื่อเป็นแนวทางในการใช้ห้องสมุดที่ออกแบบมาเพื่อส่งออกรายงานในรูปแบบ PDF, HTML, PNG และอื่น ๆ ตามที่ต้องการ
สภาพแวดล้อม
ในการใช้ fastreportexport คุณต้องติดตั้งส่วนประกอบรายงานที่รวดเร็ว
การใช้ บอส (ตัวจัดการการพึ่งพาสำหรับ Delphi) เป็นไปได้ที่จะติดตั้งไลบรารีโดยอัตโนมัติ
boss install github.com/antoniojmsjr/FastReportExport
หากคุณเลือกที่จะติดตั้งด้วยตนเองเพียงเพิ่มโฟลเดอร์ต่อไปนี้ลงในโครงการของคุณใน โครงการ> ตัวเลือก> Delphi Compiler> เป้าหมาย> การกำหนดค่าทั้งหมด> เส้นทางการค้นหา
..FastReportExportSource
ผู้ให้บริการ เป็นอินเทอร์เฟซที่ใช้โดยไลบรารีเพื่อส่งออกรายงานที่ให้คลาส TFRxCustomeXPorFilter สำหรับการกำหนดค่าและสามารถขยายไปใช้เพื่อใช้รูปแบบไฟล์อื่น ๆ
| ไฟล์ | ผู้ให้บริการ | 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 |
| เอกสาร | ifrexportdocx | tfrxdocxexport |
ตัวอย่าง
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 ;ชุดข้อมูล เป็นอินเทอร์เฟซที่ใช้โดยไลบรารีเพื่อการสื่อสารกับฐานข้อมูลผ่านส่วนประกอบ:
| ระดับ | ส่วนประกอบ |
|---|---|
| การพูดคุย | พื้นเมือง |
| tfrxdbdataset | รายงานอย่างรวดเร็ว |
เพื่อเป็นแบบอย่างการใช้งานไลบรารีให้ใช้ข้อมูล ตำแหน่ง IBGE API เพื่อสร้างและส่งออกรายงาน
ตัวอย่างการส่งออกจดหมายเหตุ: Localitiesibge.pdf
ตัวอย่างมีอยู่ในโฟลเดอร์โครงการ:
..FastReportExportSamples
ตัวอย่างฐานข้อมูล
..FastReportExportSamplesDB
รายงานตัวอย่าง
..FastReportExportSamplesReport
ตัวอย่าง
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 ;ตัวอย่างที่รวบรวม
ดาวน์โหลด: demo.zip
การทดสอบความเครียดสำหรับเว็บแอปพลิเคชันโดยใช้ JMeter:
..FastReportExportSamplesJMeter
FastReportExport เป็นซอฟต์แวร์ฟรีและได้รับอนุญาตจากโอเพนซอร์ซภายใต้