3) 建立数据源
这里,我们介绍两种普遍数据源:Connection和JavaBean。
首先是Connection。通过的URL、用户名、密码和驱动类来进行的连接,返回Connection即可,当然,此种情况需要在
iReport中定义SQL查询语句。另一种方法是,直接从Connection中完成的查询,返回结果集ResultSet,继而把
ResultSet封装成JRDataSource的子类JRResultSetDataSource。两种方式没有孰优孰劣,凭喜好使用即可。两种方式代码如下:
一、
Class.forName('******Driver');
conn = DriverManager.
getConnection ('***Driver:// localhost:***; DatabaseName =***;user=***;
password=***');
二、
ResultSet set = statement.executeQuery();//=new
ResultSet();
JRResultSetDataSource source = newJRResultSetDataSource(set);
对于JavaBean来说。需要定义标准的JavaBean格式,即它的每一个属性都要有对应的getter/setter方法,而且,需要定义一个
Factory类,其中包含一个静态的方法,返回Collection类型或者Array类型的JavaBean结果集。相比较Connection来
这一切)。JavaBean代码如下:
JRBeanCollectionDataSource dataSource;
Collection
rows = NumFactory.generateCollection();
dataSource = new
JRBeanCollectionDataSource(rows);
上面语句的功能应该很明显了,不赘述。
4)
生成JasperPrint对象
关数据插入到报表当中。
JasperPrint rptPnt =JasperFillManager.fillReport(jasperReport,
params, dataSource);
JasperFillManager类有许多的填充方法,基本囊括了各种参数的填充,包括Connection、DataSource等的填充。
5) 输出
动态填充数据完成后,就可以进行输出了。输出时,有几种方式:输出到流,输出到文件,也可以直接生成视图等。
对于每种输出格式,JasperReport都提供一个特定的Exporter,比如JRXlsExporter、JRHtmlExporter等等。这
些Exporter中,可以定义相关的输出格式,有一些是必须要定义的,比如:
exporter.setParameter(JRExporterParameter.JASPER_PRINT,rptPnt);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,httpOut);
当然,这是流输出的例子。jasperreport 下载JRExporterParameter中有所有格式的通用属性,而对于每种格式,有不同的ExporterParameter
对象,对应着不同的参数。用户所需要的参数定义完毕后,调用exportReport()方法输出即可。
五、例子
下面是一个格式化的报表:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-26308-4.html
不一样的感觉