jasperReports 报表生成


前言

随着项目数据越来越庞大,想要方便、清晰、快捷的查看所有数据就显得非常困难,我们何不试着用这些数据信息来生成一个报表,既方便了管理人员能清楚的查看统计数据,还能不用繁琐的登录系统后台来查看(我们可以把生成的报表文件导出、打印);而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后生成的对象,用于输出报

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值