JasperReports是一个开源的java报表制作引擎,iReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。
JAVA调用jasperReport须导入的JAR包有:jasperreports-x.x.jar,commons-logging-x.x.jar,itext-x.x.jar,iTextAsian.jar.
在jsp中使用ireport步骤
1. 在database中设置ireport中数据库连接参数
在parameters中设置报表的条件参数,以供database内sql语句使用
编写sql语句,根据条件参数从数据库中获取待展示字段,并填至database内
在ireport主界面中设计报表的格式,设置显示的字段参数
编译生成.jasper文件
2.在jsp中适当位置传入参数,加载调用.jasper文件并打印
需要注意的一些问题:
1.设置数据库连接
在datasource/connection中设置数据库连接参数
2.多页报表的制作:
新建group,在内add若干group,添加subreport tool至group上,并在subreport内制定子报表的路径
3.电子印章
制作好印章图片,存至数据库,在主界面中添加image tool,image expression class设为java.io.inputstream,图片勾选transparent属性,设置image expression为对应的sql字段。在sql语句中将图片从数据库取出,并设置此字段的field class type为java.io.inputstream。
输出pdf中文乱码问题:
1.确保将iTextAsian.jar ,iText 1.3.1 ,JasperReport 1.2.8加到应用程序的构建路径中或加到CLASSPATH,若是Web应用放入相应的WEB-INF\lib\中。2 设置中文支持 设置报表上各显示对象的相关属性如下: Font name: 宋体 (中文字体) PDF font name: STSong-Light PDF Encoding: UniGB-UCS2-H(Chinese Siplified) PDF Embeded: √ 也可通过iReport的view-report fonts-new字体来实现统一设置。
更多参考: