日期:2014-05-17  浏览次数:20870 次

Jasper使用小结

?

? ? ?最近项目中要使用到单据的打印功能,于是采用了jasper来实现这个feature。由于之前没有开发过类似的功能,做的过程中也走了一些弯路,并且总结了一些经验,正好记录下来。

?????一、为什么要使用报表工具进行打印

?????首先,需要打印的内容是业务表数据的一部分,因此牵涉到数据查询,采用报表对SQL的支持进行查询是很方便的。

?????其次,打印一般对格式要求很高,采用报表设计工具可以很直观的调整格式(当然,HTML编辑器也有类似功能)。尤其对于分页的报表,HTML并没有直接的对分页进行支持,因此可能出现由于页边距的打印设置问题,导致分页错乱。

?????二、JASPER使用示例

?????a)?报表设计器iReport

?????iReportJasper?Report自带的一个设计器,最牛逼的是,居然也支持Mac平台。各项拖拽操作都非常顺畅,而且可以显示虚线来对齐(和QQ拼音有兼容问题,容易导致Jasper崩溃)。

?

?

? ? ?b)?Struts2进行整合

?????官方文档:http://struts.apache.org/2.0.11.2/docs/jasperreports-tutorial.html?

?????不过官方介绍的是以DataSource的形式传递数据,也就是在Action中进行查询,然后将查询结果传递给报表引擎。但是在后来的实践中,我觉得这样做不是很好。