前言
随着项目数据越来越庞大,想要方便、清晰、快捷的查看所有数据就显得非常困难,我们何不试着用这些数据信息来生成一个报表,既方便了管理人员能清楚的查看统计数据,还能不用繁琐的登录系统后台来查看(我们可以把生成的报表文件导出、打印);而jasperReports 就可以实现这一功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、jasperReports 是什么?
示例:JasperReports是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。一般情况下,JasperReports会结合Jaspersoft Studio(模板设计器)使用导出PDF报表。
二、基本功能使用步骤
1.首先要导入jasperReports的jar包
jasperReport的Maven坐标如下:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.8.0</version>
</dependency>
2.创建模板文件
我们可以先使用模板生成工具创建一个模板文件,这里我们可以使用Jaspersoft Studio模板生成工具来创建我们入门案例所使用的模板;
这里我们先使用我已经提前创建好的模板文件,把模板文件复制到maven工程中:
3.编写测试方法,输出PDF报表
public void test() throws Exception{
//获取模板
String jrxmlPath =
"D:\\idea_project\\jasperReportsDemo\\src\\main\\resources\\demo.jrxml";
String jasperPath =
"D:\\idea_project\\jasperReportsDemo\\src\\main\\resources\\demo.jasper";
//编译模板
JasperCompileManager.compileReportToFile(jrxmlPath,jasperPath);
//构造数据
List<Map> jasperReportsTest = new ArrayList();
Map map = new HashMap();
map.put("jasperReportsTest","jasperReports 成功!");
jasperReportsTest.add(map);
//填充数据
JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperPath,map,new JRBeanCollectionDataSource(jasperReportsTest));
//输出文件
String pdfPath = "D:\\jasperReportsTest\\jasperReportsTest.pdf";
JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath);
}
数据的字段名要和模板文件的字段名保持一致:
4.查看生成的文件是否正确
我这里写的输出文件目录是这样的:
当程序执行时就会在这个目录下生成一个PDF文件
点击打开文件之后:
结果跟我们构建的数据一致,说明pdf文件创建成功了
三、 JasperReports概述
1.JasperReports原理
JRXML:报表填充模板,本质是一个xml文件
Jasper:由JRXML模板编译成的二进制文件,用于代码填充数据
Jrprint:当用数据填充完Jasper后生成的对象,用于输出报