1.下载
设计报表需要使用 Jasper Studio 工具进行设计,Jasper Studio 官网下载地址,下载 Jaspersoft® community edition。
2.安装
设置安装路径,一路下一步。
3.创建数据库连接
本文以达梦数据库为例进行操作,因 Jasper Studio不支持达梦数据库,需要下载驱动【达梦驱动下载】,选择 JDBC 驱动,解压后用 DmJdbcDriver8.jar。其他比如 mysql、postgressql、oracle、sqlserver 等,都可以直接在驱动选择那里选择,如需连接其他类型数据库,可参考此操作配置。
4.制作报表
1.创建工程
如果 Project Explorer 被关闭了看不到,可以通过 Window -> Reset Perspective... 重置窗口或重启 Jasper Studio。
2.File -> New -> Jasper Report
点击 Next 后,会让选择工程,自行选择工程即可。
设计各区域解释:
- Title(标题)
- 只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
- Page Header(页头)
- 在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
- Column Header(列头)
- Detail中打印的是一张表的话,这Column Header就是表中列的列头。
- Detail1(详细)
- 报表内容,每一页都会显示。
- Column Footer(列脚)
- Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
- Page Footer(页脚)
- 在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
- Summary(统计)
- 表格的合计段,出现在整个报表的最后一页中,在Detail 1 Band后面。主要是用来做报表的合计显示。
开始设计,这里我们只需要 Title、Detail1,其他区域均可以删除(点击区域右键 Delete 或直接键盘 DELETE)。
从右侧控件库拖入组件,如:Title 位置拖入 Static Text 静态文本控件(顾名思义,就是显示静态文本),如下所示:
控件描述:
- Static Text: 静态文本控件,用于展示静态文本
- Text Field: 动态文本控件,可从数据库,或者是Map集合,或者JavaBean中获取数据,然后填充到此组件中
- 语法:$F{value}
- Line:线,绘制表格用,通过拉伸来调整
- Image: 图片控件,此控件有两个常用值,如下图所示:
本文选择第一项动态加载工作空间中图片资源。
创建字段:
最终效果:
5.打包
保存后,菜单栏 Project 或工程根目录右键 -> Build Project,会生成编译后的文件*.jasper。把这个整到 Java 工程里,然后通过编程方式加载(可以是磁盘绝对路径、数据库、minio等方式)填充数据并导出,支持 PDF、HTML、Excel、Word 格式。
更高级的用法,可以参考官网文档或自行搜索,比如子表单(https://blog.csdn.net/qq_43547991/article/details/140103151)、其他控件的用法、数据源绑定、通过 sql 查询结果渲染等。














