快速学习JasperReport-数据填充

本文详细介绍了如何使用JasperReport进行数据填充,包括参数Map填充和DataSource填充。在参数Map填充中,讲述了如何创建参数、设置模板并输出PDF。在数据源填充部分,通过JDBC数据源和JavaBean数据源,讲解了数据库连接配置、模板制作以及PDF生成的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 数据填充

我们介绍了如何使用JasperReport来生成简单的文本报表,正式企业开发中动态数据展示也是报表中最重要的一环,接下来我们共同研究的就是填充动态数据到PDF报表中。

/**
* 填充数据构造JasperPrint
* is: 文件输入流
* parameters:参数
* dataSource:数据源
*/
public static JasperPrint fillReport(InputStream is, Map<String, Object> parameters, JRDataSource dataSource) throws JRException {
   

通过这段填充数据的源代码得知,JasperReport对报表模板中的数据填充有很多中方式,最典型的有以下两种:

  1. Parameters(参数)填充
  2. DataSource(数据源)填充

1.1 参数Map填充数据

Parameters通常是用来在打印的时候从程序里传值到报表里。也就是说parameters通常的是起参数传递的作用。他们可以被用在一些特定的场合(比如应用中SQL 查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。parameters也需要在创建的时候定义它的数据类型。parameters的数据类型是标准的java的Object。

1.1.1 模板制作

(1) 创建新模板,删除不需要的Band
在这里插入图片描述
(2)创建Parameter
在outline面板中找到Parameters,右键 -> Create Parameter,新建一个Parameter(生成一个Paramerter1)
在这里插入图片描述
右键 Paramete1 -> Show Properties. 设置Name为title、Class为java.lang.String.这里要注意名字要认真取不能重复,因为传入的参数的key就是这个参数名,以此来进行一一对应

在这里插入图片描述
(3)模板参数设置
将设置好的参数直接拖入表格中对应的位置,并设置好大小与对齐方式。
在这里插入图片描述

1.1.2 PDF输出

@GetMapping("/testJasper02")
    public void createPdf(HttpServletRequest request, HttpServletResponse response) 
throws IOException {
   
        //1.引入jasper文件
        Resource resource = new ClassPathResource("templates/parametersTest.jasper");
        FileInputStream fis = new FileInputStream(resource.getFile());
        //2.创建JasperPrint,向jasper文件中填充数据
        ServletOutputStream os = response.getOutputStream();
        try {
   
            /**
             * parameters集合中传递的key需要和设计模板中使用的name一致
             */
            HashMap parameters = new HashMap();
            parameters.put("title","用户详情");
            parameters.put("username","李四");
            parameters.put("companyName","传智播客");
            parameters.put("mobile","120");
            parameters.put(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值