JasperReport原理解析之(一)

1. 【加载原始文件】有iReport生成jrxml文件后,由jasperreport包中的类JRXml文件 加载和解析 jrxml文件。

   文件解析后生成  JasperDesign对象。

   JasperDesign对象可以利用代码动态的修改,官方不建议动态修改。

2.【编译文件】JRCompiler类会根据jrxml文件的语言选择相应的语言,将JasperDesign对象编译为.jasper文件。并读入内存(如果实现已经编译好),生成JasperReport对象。

   若已生成.jasper文件,则调用JRLoader类将文件读入内存,生成JasperReport对象。

3.【填充数据】类JasperFillManager对JasperReport对象进行数据填充。数据填充完毕后生成JasperPrint对象。该对象用于导出报表。

4.【导出报表】根据导出的格式调用相应的exporter。一般常用的封装在类:JasperExporterManager中。

  导出报表具体2步:1)是相关导出参数配置  2)执行导出

总结起来就三步:准备文件、填充数据、执行导出。

【签名→→→】【****知其然知其所以然****】 工具只能帮助我们解决我们认识到的问题,解决不了我们都没理解的问题。 不能再把一切扔给框架、容器、工具! 首先理解你的业务逻辑,理解你要实现的功能, 然后搞清楚框架、容器、工具会帮助我们做什么。 只有理解了自己的业务逻辑,理解了自己的代码,理解了自己要用到的第三方代码, 才能真正完美地实现我们需要的功能!
原文地址:https://www.cnblogs.com/yaowukonga/p/3185901.html