资源描述:
《ireport+jasperreport开源报表中使用javabean作为数据源的详细实》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ireport+jasperreport开源报表中使用javabean作为数据源的详细实 Ireport+jasperreport是一款优秀的开源报表工具,支持数据库、javabean等多种数据源支持,可以在web上生成html、pdf、xls、rtf等多种格式的报表。使用javabean数据源实现报表的具体步骤1. 实现环境Ireport:1.3.2(jasperreport1.3.2)操作系统:windowsXP程序环境:eclipse3.1.1+myeclispe4.1.12. 程序支持:a)使用javabean做数据源,首先一定要有一个javabean类来支持
2、,javabean中对每个成员变量都要一个getter和setter方法b)使用javabean做为数据源,为了在设计报表时能够看到数据,在程序中要为ipreport提供一个静态方法,该方法返回上面定义javabean的一个结果集,这个静态方法可能在程序运行中并不是必须的,但是在ireport中它确实必须的,换句话说,这个静态方法是专门为ipreport量身定做的,为了ireport在设计报表时能够调用这个静态方法返回相应的javabean结果集,以便设计的报表在放在java项目中之前就能像使用sql数据库数据源一样可以浏览。(刚开始还以为是必须程序中实现也要用静态方法,郁闷了好久,觉得
3、这样太不方便了,后来醒悟,根本不是那么一回事)3. 在ireport中设置javabean连接a) 设置classpath,把java项目中的类路径加入到classpath中,注意是class文件而不是java文件,因为ireport是不会去编译classpath中的java文件的5.1-9,,services,andmakethecitymoreattractive,strengtheningpublictransportinvestment,establishedasthebackboneoftheurbanrailtransitmulti-level,multi
4、-functionalpublictransportsystem,thusprotectingtheregionalpositionandachieve b) 设置数据源5.1-9,,services,andmakethecitymoreattractive,strengtheningpublictransportinvestment,establishedasthebackboneoftheurbanrailtransitmulti-level,multi-functionalpublictransportsystem,thusprotectingtheregionalpos
5、itionandachieve c) 报表查询5.1-9,,services,andmakethecitymoreattractive,strengtheningpublictransportinvestment,establishedasthebackboneoftheurbanrailtransitmulti-level,multi-functionalpublictransportsystem,thusprotectingtheregionalpositionandachieve 4. 设计报表使用javabean数据源来设计报表与使用sql数据库做数据源是完全
6、相同的,只不过它的filed不是来自sql语句,而是javabean中的成员变量。本例是一个使用javabean数据源制作的交叉表。5. 报表的预览报表预览时,ireport会自动调用在数据源中设置的静态方法,返回javabean的数据集。下面是交叉报表的html格式预览图片5.1-9,,services,andmakethecitymoreattractive,strengtheningpublictransportinvestment,establishedasthebackboneoftheurbanrailtransitmulti-level,multi-functio
7、nalpublictransportsystem,thusprotectingtheregionalpositionandachieve下图是设置外部程序选项5.1-9,,services,andmakethecitymoreattractive,strengtheningpublictransportinvestment,establishedasthebackboneoftheurbanrailtransitmulti-leve