PDF报表操作03~~使用JasperReport制作报表 案例

1. 基本使用

1.1 模板制作

1.1.1 新建报表

打开Jaspersoft Studio ,新建一个project, 步骤: File -> New -> Project-> JasperReportsProject

在这里插入图片描述

1.1.2 创建模板

新建一个Jasper Report模板,在 Stidio的左下方Project Explorer 找到刚才新建的Project (我这里新建的是DemoReport),步骤:项目右键 -> New -> Jasper Report

在这里插入图片描述

1.1.3 选择纸张

选择 Blank A4 (A4纸大小的模板),然后 Next 命名为test01.jrxml.

在这里插入图片描述

1.1.4 Band的介绍

如图所示,报表模板被垂直的分层,每一个部分都是一个Band,每一个Band的特点不同:

在这里插入图片描述

  1. Title(标题):只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
  2. Page Header(页头):在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
  3. Page Footer(页脚):在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
  4. Detail 1(详细):报表内容,每一页都会显示。
  5. Column Header(列头):Detail中打印的是一张表的话,这Column Header就是表中列的列头。
  6. Column Footer(列脚):Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
  7. Summary(统计):表格的合计段,出现在整个报表的最后一页中,在Detail 1 Band后面。主要是用来做报表的合计显示。

1.2 编译模板

右键单机模板文件 -> compile Report 对模板进行编译,生成.jasper文件

在这里插入图片描述

2. 快速入门

需求

在这里插入图片描述

2.1 环境准备

2.1.1 导入依赖
	<!--JsperReport-->
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.17.0</version>
    </dependency>
    <dependency>
        <groupId>org.olap4j</groupId>
        <artifactId>olap4j</artifactId>
        <version>1.2.0</version>
    </dependency>
    <dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>iText</artifactId>
        <version>2.1.3</version>
    </dependency>

2.1.2 准备中文字体资源文件

jasperReports本身对中文的支持不够好,所以如果涉及到中文,需要自己准备中文的资源,现在已“华文宋体为例”
把图中的文件夹和properties文件直接拷贝到项目的resources文件夹下
百度云: https://pan.baidu.com/s/1b5YN1ly_IkHMWk0nxkf1JQ
提取码:szy1

在这里插入图片描述

在这里插入图片描述

2.2 使用Jaspersoft Studio制作一个简单的模板

2.2.1. 创建新模板,删除不需要的Band

在这里插入图片描述

2.2.2. 画边框和线

在这里插入图片描述

2.2.3. 添加几个静态的文本

在这里插入图片描述

2.2.4. 添加变量

在这里插入图片描述
在右下角修改变量名称
在这里插入图片描述

2.2.5 使用变量

在这里插入图片描述

2.2.6. 有中文的设置字体为华文宋体

在这里插入图片描述

2.2.7. 保存后编辑

在这里插入图片描述
在这里插入图片描述

2.3 复制编译后的文件

把Blank_A4.jasper文件放到磁盘的某个位置,比如我直接放到D盘下

在这里插入图片描述

2.4 测试代码

	@Test
    public void test() throws Exception {
        //模板文件位置
        String filePath ="d:\\Blank_A4.jasper";
        //文件输出流
        FileInputStream inputStream = new FileInputStream(filePath);
        //设置参数 参数的key = 模板中使用的parameters参数的name
        Map params = new HashMap();
        params.put("name","张三");
        params.put("phone","123456");
        //将JasperPrint已PDF的形式输出
        JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, params, new JREmptyDataSource());
        //导出
        JasperExportManager.exportReportToPdfStream(jasperPrint,new FileOutputStream("d:\\test01.pdf"));
    }

2.5 效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自学之路←_←

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值