iReport 官网和文档上关于chart设计以饼图和JDBC源作为例子,但更多的情况下由于报表中的数据需要首先加工处理,因此更多的是从JavaBeans set datasource从获取数据,另外linechart也是使用很多的一种chart工具,本文就记录在iReport中通过JavaBeansset datasource 获取数据,继而生成linechart报表的过程。
1. 下载安装iReport5.6.0
从 http://community.jaspersoft.com/project/ireport-designer/releases下载安装,此步略;
2. 报表制作
打开iReport
1) 生成模板
依次选择 文件->New,选择Blank A4,点击”Open thisTemplate”按钮,如下图:
选择报表路径,输入报表名称:“testLineReport”,如下图
继续点“下一步”->“完成”。
2) JavaBeans数据源准备
iReport中为了使用“JavaBeansset datasource”,需要指定一个工厂类,用以返回一个包含javabeans的集合,例子程序中的工厂类名是“com.jaspersoft.ireport.examples.SampleJRDataSourceFactory”,其中需要一个静态方法返回Collection<Object> 这样的数据结构。另外自然需要定义一个Javabean返回具体的数据(包含set, get方法)。在我们的例子中,由于在linechart中需要用到subdataset,该subdataset需要从一个net.sf.jasperreports.engine.data.JRBeanCollectionDataSource中获取数据,因此还需要多定义一个返回这种数据类型的JavaBean。
综上,我们定义的三个类依次如下:
表格 1 TestBean
package com.report.linechart;
pu