一、数据填充
在正式环境中,报表中的内容或数据通常是通过查询底层数据源获取然后再进行数据填充。JasperReport的JAVA SDK中,提供了多种方法提供数据填充(如下其中一个示例):
/**
* 填充数据构造JasperPrint
* is: 文件输入流
* parameters:参数
* connection:数据源
*/public static JasperPrint fillReport(InputStream inputStream, Map<String, Object> parameters, Connection connection) throws JRException {return getDefaultInstance().fill(inputStream, parameters, connection);}
通过这段填充数据的源代码得知,JasperReport对报表模板中的数据填充有多种,最典型的有以下两种:
Parameters(参数)填充
DataSource(数据源)填充
1.1.参数Map填充数据
Parameters通常是用来在打印的时候从程序里传值到报表里。使用场景就是报表的数据即可通过从数据库查找结果,也支持其他非DB数据的填充。但是其依赖于代码处理,当数据或者逻辑调整时,必须调整代码。
1.1.1 模板制作(Jaspersoft Studio)
File--->New--->Jasper Report
1.1.2 创建Parameter
在outline面板中找到Parameters,右键--->Create Parameter,新建一个Parameter(生成一个Paramerter1)
右键 Paramete1 -> Show Properties.。(在右下角显示)设置Name为title(示例,实际根据自己的报表命名)、Class为java.lang.String。这里要注意名字要认真取不能重复,