IReport实践指南

IReport实践指南

前言

最近,在做一个电子签章的功能,然后就接触到IReport报表,经过好几天的摸索实践,功能已经完成了,今天来总结一下。

什么是IReport,IReport是JasperReports报表的可视化设计器,准确地说,本文的名字应该叫JasperReports实践指南,好了废话不多说了,直接开始今天的内容吧。

报表设计

下载设计器

下载报表设计器,网址如下:

https://community.jaspersoft.com/project/ireport-designer/releases

然后选择下面的选项,然后点击下载:

然后解压,进入bin文件夹,打开ireport.exe,界面如下:

选择报表模板,创建报表

然后新建一个报表,根据自己的需求选择合适的尺寸,然后点击Launch Report Wizard,选择保存路径,设置名称,然后下一步

设置报表名称及存储路径

设置数据源

然后设置数据源,如果是第一次打开,那你需要创建自己的数据源,点击New开始

选择数据源,我这里选择的是jdbc connection,其他的没有研究,用兴趣的小伙伴可以研究下

设置数据源,包括地址、驱动类型,用户名、密码,配置完成后点击test测试下你的数据源,如果报错,可能是你还没有添加数据库驱动jar包:

当然,如果你添加的数据库驱动是红的的,也说明你还没有添加驱动的jar包:

在工具 -> 选项菜单下,找到classpath

配置核心数据集

配置报表主数据集

配置字段

配置需要显示的字段

然后,下一步,完成,报表就创建完成了,接着我们该开始报表设计了。

设计报表

设计器

设计器主要分为四个区域:

  • 当前报表元素:包括数据集、已添加控件、变量、字段
  • 页面设计区:我们需要将控件拖入该区域,包括设计视图、xml视图和预览视图
  • 组件面板:包括各种常用的控件,如静态文本、字段文本、形状、图表等
  • 控制台:显示报表编译信息、错误警告

基本控件

常用的基本控件:

rectangle:矩形,如果是简单表格的话可以用他

Static Text:顾名思义,静态文本,比如我们的表头,标题等

Text Field:字段文本用于显示我们的动态数据,也就是数据库查出来的数据

List:如果你的报表涉及多个数据集,List是个很有用的工具,反正我是通过它来实现的

其他的我还没研究,目前已经可以满足我的需求了

报表页面结构

报表基本结构如下:

这里解释下各个区域的含义和功能:

标题:整个文档只显示一次,相当于表名称,只在第一页显示

页眉:这个大家应该很熟悉,用过word的都清楚,该区域的内容每页都会显示

列头:相当于表头,但该区域的内容每一页都会显示

数据区:这里就是数据显示的核心区,该区域内容会自动循环显示,就相当于表格的body

列尾:和列头类似,每页都会有

页脚:同页眉,不再赘述

汇总区:我发现截图写错字了??,不改了,这里主要显示的是汇总数据,比如各列的汇总小计

下面是我输出的报表,大家可以参考下

汇总区在最后一页显示

设计报表

下来,开始设计我们的第一个报表。这里演示的是单个数据集的情况,刚才新建报表的时候已经添加过数据集了,所以我就不再创建。具体编辑方式如下:

编辑核心数据集

选中报表,右键Edit Query

然后配置数据sql,字段会自动识别,入参是sql入参,先不用考虑如何传入参,只用配置sql即可

插入控件

拖入需要的控件:

选中控件,点击属性面板,可以编辑控件数据,包括字体大小,格式等数据,双击控件可以编辑控件内容

对于Text Field控件,$F{字段名}表示显示字段数据,$V{变量名}表示显示变量数据,$P{参数名}表示显示参数数据。当然也可以直接在你自己报表下方对应的区域直接拖到设计区。

对于中文内容,必须设定如下两个属性,否则pdf输出的时候是没有内容的。

sql传参

首先在Parameters下面创建我们的入参参数,如果你是多个数据集,你的入参一定要创建在对应的数据集下面。

然后编辑数据集,如果是默认的数据集,直接Edit Query:

当然也要改下我们的sql:

然后点击预览,输入参数

如果没有什么问题的话,可以看到类似如下内容:

到这里我们第一个报表就算完结了。如果有问题,好好看下以上内容。

多数据集

如果你的报表涉及到多个sql,那你就需要创建多个数据集。具体创建数据集方式如下:

选中报表,右键Add Datasets

配置sql,如果还没配数据源,先配置数据源,忘记了如何配置可以返回前面看下

选择数据字段

选择数据分组,没有分组可以不选,然后直接完成

插入List控件

编辑List数据集,选择数据集,设置连接表达式

在List下创建我们的控件

然后预览,你会发现两个数据集都执行了,效果如下:

好了,今天就到这里吧!本周周末会接着本周的内容,来介绍如何在web项目容使用我们今天绘制的报表。

原文地址:https://www.cnblogs.com/caoleiCoding/p/12084329.html

时间: 2024-08-30 13:37:34

IReport实践指南的相关文章

操作系统CnetOS_7—systemd管理实践指南

systemd管理实践指南 管理systemd CentOS 7 使用systemd替换了SysV.Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务. systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起. Systemd :系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 Systemd 新特性:

[转]《一线架构师实践指南》—— 读后总结

原文:<一线架构师实践指南>—— 读后总结 之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样.前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱.这里读完这本书,大体上对架构的工作有所了解,也稍微摸清了些门道. 我理解的架构 我理解的架构就是基于某些需求,设计代码的基础框架.既然是基于需求,那么肯定要面临不少需求的扩展以及变更,这时就需要架构能够灵活方便的适应变化.因此,架构的工作我的理解更多的是提前预料到未来的变化,提前做好改变的准备. 架构设计的大体思路为: 时

渗透测试实践指南(1)

各种编码方案 base64 url html unicode 渗透测试实践指南(2016/1/14) 3.3 端口扫描 3.4 漏洞扫描 工具:Nessus 3.5 如何实战 4 漏洞利用 4.2 工具:Medusa(暴力破解,以破解ssh为例),Hydra 4.3 工具:Metasploit介绍使用 4.4 john the ripper 破解系统密码 (windows linux) 4.5 密码重置 4.6 嗅探网络流量 (受限于广播或hub) 4.7 macof:泛洪攻击交换机 工具集:D

机器学习实践指南:案例应用解析

试读及购买链接 <机器学习实践指南:案例应用解析>是机器学习及数据分析领域不可多得的一本著作,也是为数不多的既有大量实践应用案例又包括算法理论剖析的著作,作者针对机器学习算法既抽象复杂又涉及多门数学学科的特点,力求理论联系实际,始终以算法应用为主线,由浅入深以全新的角度诠释机器学习. 前 言第一部分 准备篇第1章 机器学习发展及应用前景 21.1 机器学习概述 21.1.1 什么是机器学习 31.1.2 机器学习的发展 31.1.3 机器学习的未来 41.2 机器学习应用前景 51.2.1 数

PYTHON 最佳实践指南(转)

add by zhj: 本文参考了The Hitchhiker's Guide to Python,当然也加入了作者的一些东西.The Hitchhiker's Guide to Python 的github地址是https://github.com/kennethreitz/python-guide,貌似还能用pip安装该包.先占个坑,后面有时间再把文章转过来 原文:PYTHON 最佳实践指南

20个设计数据库的最佳实践指南

数据库设计看上去很简单,但是如果不经意随意设计,可能会为日后维护拓展或性能方面埋下祸根.以下是20个设计数据库的最佳实践指南: 1. 使用完整的一致的数据表名称和字段名,如:School, StudentCourse, CourseID 2.数据表名称使用单数,比如使用StudentCourse 而不是StudentCourses,数据表代表实体的一个集合,因此没有必要使用复数名称. 3. 数据表名称不要使用空格,比如StudentCourse 比Student Course更好. 4.数据表名

数据仓库专题(16)-分布式数据仓库实践指南-目录篇

前言: 准备系统化整理一套分布式数据仓库建模实践指南,先把目录列出来吧,算是给自己设计一个目标吧. 第一部分 基础篇 第一章 数据仓库概念与定义 1.1 数据管理体系 1.2 数据仓库概念 1.3 数据仓库职责 第二章 数据仓库体系结构 2.1 Inmon CIF 2.2 Kimball 2.3 对于与分析 第三章 维度建模基础 3.1 kimball四步建模法 3.2 维度设计 3.3 事实表设计 第二部分 实践篇 第一章 路线图 第二章 业务分析-深浅有度 第三章 数据分析-区别对待 第四章

lua游戏开发实践指南学习笔记1

本文是根据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1.  语言定义: 在lua语言中,标识符有很大的灵活性(变量和函数名),不过用户不呢个以数字作为起始符,也要避免下划线(_)接大写字母,因为这种格式为lua自身保留如_Start. 建议用户使用如下格式和命名规则来定义变量.常量和函数名: ①  常量用全大写和下划线,例如:MY_CONSTANT ②  变量第一个字母小写,例如:myVariable ③  全角变量第一个字母用小写g表示,例如:gMyG

lua游戏开发实践指南学习笔记2

深入学习Lua 本人学习lua游戏开发实践指南的学习笔记,主要记录书中的一些知识点. 1.  函数 函数是划分游戏脚本功能的主要工具,它是通过标识符(事实上是一个变量)调用的lua代码块,可以执行某种处理.返回值,或者二者都有. 简单的函数定义如下: Function Wow() print(" ") print(Wow ,that wasaawesome:) print(" ") end 函数定义以function关键字开始,后面是函数名称,然后是传递给函数的参数