FastReport模板设计和调用
FastReport是功能齐全的报表控件,使开发者可以快速并高效地为·NET/VCL/COM/ActiveX应用程序添加报表支持。最近一个项目就涉及到了FastReport报表的应用。这里简单记录下(本人比较懒,也不太喜欢写博客,知识分享的习惯更是差到极点!):
1.设计模板(.frx)
首选你要知道你最终打印和预览出来的报表应该是什么样子的,什么格式,可能由于我使用的版本比较古老(1.5版本,公司买的),只能正常导出图片格式的,pdf导出的话会有有数据加载不进来的错误,没有找到解决方法,我想到的就是使用 ITEXT再把图片转为pdf,效果一样;其次,新建模板的时候,字典得提前准备好了frd,除非你使用的数据源是其他类型,不然就一定也先写xml格式的frd字典;最后,你就可以在上面画画。。好了之后保存成frx文件
2.C#调用
把上面生成的模板文件放到你的项目的一个文件夹中,使用以下几段代码调用即可:
Report report = new Report();
// load the existing report
report.Load($@"{printTempPath}");
// register the array
report.RegisterData(businessObjects2, "CaseReportFormData");
//关闭弹出窗口
//关闭生成进度条
EnvironmentSettings eSet = new EnvironmentSettings();
eSet.ReportSettings.ShowProgress = false;
//关闭对话框
report.PrintSettings.ShowDialog = false;
// prepare the report
report.Prepare();
// export to image
ImageExport image = new ImageExport();
image.ImageFormat = ImageExportFormat.Jpeg;
report.Export(image, $@"{temp}\{request.Id}.jpg");
var pdfPath = $@"{temp}\{request.Id}.pdf";
PdfHelper.ConvertJPG2ListPDF(image.GeneratedFiles, pdfPath);
就两点,简单吧,看下我设计的效果
qq:694666781