JasperReport示例

由于最近需要在管理系统中添加打印报表的功能,因此参考网上的众多大师的文章,在这里做一下记录,能方便自己以后回顾。

首先,我用的是ireport3.5.2,用的JasperReport3.7.0,在做实验过程中发现用ireport3.5.2制作出来的报表模板,用JasperReport3.1去做相应处理的时候会有莫明的错误出现,更换了3.7之后就正常了,具体原因没有仔细去查明,有空的时候一定要去咨询一下高手的意见。

 

1.首先用IReport制作报表模板
有时在工具栏上会找不到按钮,比如设置ReportDataSource按钮,EditReportQuery按钮等,这时可以参考如下步骤:
视图->工具栏->定制->Data->找到ReportDataSource按钮后拖到工具栏上即可


1.1 设置classpath
这里我主要制作的报表是基于有数据源的情况,数据源主要就JavaBean和JDBC这二种。因此需要先指定classpath,添加classpath的步骤如下:
工具->选项->iReport标签->Classpath标签->AddJAR按钮可以将一些使用的包加入,如oracle的数据库驱动,AddFolder按钮可以一般适用于JavaBean做数据源的情况,将这些JavaBean生成的class文件所在的文件夹打开即可。

 

1.2 设置数据源
1.2.1 设置JDBC数据源
点击ReportDataSource按钮->点击new按钮->选择DataBase JDBC Connection->Name中写个名字为这个DataSource命名,在JDBC Driver中选择相应的数据库驱动,在JDBC URL中写入数据库地址,Username中写用户名,Password中写密码,点旁边的Save password可以保存密码,点击Test按钮可以测试一下连接是否正确,配置完成后点击Save按钮即可


1.2.2 设置JavaBean数据源
点击ReportDataSource按钮->点击new按钮->JavvaBeans set datasource->Name中写个名字为这个DataSource命名,在Factory class中写产生数据集的那个工厂类,由于事先已经指定了classpath,一般我就指定工程的bin目录,因此就写com.xxx.xxx即可,至于生产数据集的工厂类如何写请参考2.2,对于以下的解释是我自己的理解,没有读过相关文档,如果在今后的讨论中发现有误会再回过来修证,Collection of javaBeans指的是生成出来的集合是一个容器类,Array of javaBeans指的是生成出来的集合是一个数组,The static method to call to retrive...中填的是获取这个集合的方法名,这个方法一定要是静态的。点击Test可以测试一下是否成功后点击Save保存

 

1.3 设计报表
1.3.1 以JDBC数据源的报表设计
数据源选择JDBC数据源之后,点击EditReportQuery按钮,选择Report query标签,写sql语句,之后在列表中会出现相应字段,点击OK按钮,在Report Inspector面板中,这些字段就会显示在Fields结点中,可以供使用。


1.3.2 以JavaBean数据源的报表设计
数据源选择JavaBean数据源之后,点击EditReportQuery按钮,选择JavaBean DataSource标签,填写JavaBean的路径,点Read attributes会显示所有的属性,点击Add selected field(s)按钮可以将所有字段加入,点击OK按钮,在Report Inspector面板中,这些字段就会显示在Fields结点中,可以供使用。

 

2. 通过程序填充数据
2.1 数据源为JDBC的情况

   

 

2.2 数据源为JavaBean的情况

建立生成数据集的Factory

 

 

数据源中的对象

 

 

数据源,填充报表中的数据

 

 

将报表导出excel

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值