使用JasperReport报表工具,做出Java项目报表打印功能(一)
一:介绍
JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。JasperReport是开源的,对于开发者来说是个不错的选择。
不具体介绍JasperReport了,感兴趣的朋友可以上网查阅关于JasperReport的更多信息。
二:下载
官网:https://community.jaspersoft.com/community-download
下载 相关的Library Jar包和模板设计器Jaspersoft studio。并安装Jaspersoft studio
三:使用
安装好了就开始使用这个软件。这个软件和我们平常使用的eclipse很类似。
1.新建JasperReport项目
名字随便命名
2.项目下新建个文件夹,名字可以不用跟我的一样,随便命名
3.新建个Jasper Report
4.选个空白的A4,点击next
5.命名,最后点击finsh
新建成功之后,就变成下面这样了
四:Studio的outline显示模板结构
简单介绍一下:
Styles:可以引用的布局风格
Parameters:报表的参数,可由外部传入数据填充。
Fields:域、字段,由上面关联的数据库或实体类所产生。
Sort Fields:对字段进行排序筛选后的字段。
Variables:变量,可以创建变量来进行一些数学计算。
Scriptlets:报表模板实质是一个标签语言,故也可以使用脚本语言。
Title(标题):只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
Page Header(页头):在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
Page Footer(页脚):在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
Detail 1(详细):报表内容,每一页都会显示。
Column Header(列头):Detail中打印的是一张表的话,这Column Header就是表中列的列头。
Column Footer(列脚):Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
Summary(统计):表格的合计段,出现在整个报表的最后一页中,在Detail 1 Band后面。主要是用来做报表的合计显示。
palete显示结构
在Summary顶部下面的空白处,单击 -> 在Properties中的Report里面,有个edit page format,可以调整页面的大小等属性
可以根据自己的需要来调整
五:参数和模板
1.新建Parameters参数
2.参数命名,选择参数类型,创建你需要的参数以及类型。
3.参数都建完了,接下来,弄模板了
在Title区域里弄表格,记得要在Title里面弄,超出界限会有警告提示 ⚠
第一条蓝色(或者淡紫色,无所谓了,反正能区别出来)横线,和第二条蓝色横线里面,有个Title英文
4.我们按住Static Text静态文本到Title区域里
如下图
5.可以改名字,改变字体大小颜色,文本框位置大小等等,具体调整成什么样子,你都可以试试
6.设置参数值,拖动Text Field到Title区域,如图
7.双击“Text Field”,弹出框框
8.选择Parameters,之后选中你需要的参数,双击,之后,顶部白色区域,出现了 --》
PrefOrderNo的字样。其中P{refOrderNo}的字样。其中</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord mathit" style="margin-right: 0.13889em;">P</span><span class="mord"><span class="mord mathit" style="margin-right: 0.02778em;">r</span><span class="mord mathit">e</span><span class="mord mathit" style="margin-right: 0.10764em;">f</span><span class="mord mathit" style="margin-right: 0.02778em;">O</span><span class="mord mathit" style="margin-right: 0.02778em;">r</span><span class="mord mathit">d</span><span class="mord mathit">e</span><span class="mord mathit" style="margin-right: 0.02778em;">r</span><span class="mord mathit" style="margin-right: 0.10903em;">N</span><span class="mord mathit">o</span></span><span class="mord cjk_fallback">的</span><span class="mord cjk_fallback">字</span><span class="mord cjk_fallback">样</span><span class="mord cjk_fallback">。</span><span class="mord cjk_fallback">其</span><span class="mord cjk_fallback">中</span></span></span></span></span>符号应该是表示后面是参数的意思吧,我猜的。p是Parameters的简称。花括号里面的refOrderNo是参数。<br> <img src="https://img-blog.csdnimg.cn/20190902211730621.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2V4b2R1czM=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 9.点击finsh之后,就出现了下面这样。<br> <img src="https://img-blog.csdnimg.cn/20190903093351920.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2V4b2R1czM=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 10.依葫芦画瓢,想要的内容都按照上面那样弄。格式,大小位置慢慢调。<br> 弄完之后,就变成下面这样<br> <img src="https://img-blog.csdnimg.cn/20190903094128283.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2V4b2R1czM=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/20190903094213349.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2V4b2R1czM=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 11.上面的总面积,里面的花括号之所以没有显示参数,是因为框框有点窄,就没有显示出来<br> 我根据我自己的需要,把Title,Column Header,Detail 1,Summary位置,大小都进行了调整。</p>
12.具体做法:点击某一个区域,Properties里面有个Height的参数,进行修改。
13.插入图片
14.我这里选择Custom expression,是因为自己需要从路径上插入一张图片(D:\Develop\cupboarderp\postgres\qrcode,这个是我需要插入图片的路径,后续我会在后台代码讲)
然后点击,选择参数值,跟上面一样选择参数值,我选的是qrCodePic
弄好之后,如图
关于报表这一块,我也是小白,自己摸索过来的,难免会有错误,希望有知道的大神,指点一下。
下一篇,会介绍Column Header和Detail 1里面的内容
第二篇,链接点击这里
第三篇,链接点击这里
使用JasperReport报表工具,做出Java项目报表打印功能(一)相关推荐
- java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法
当前位置:我的异常网» J2EE » 急项目发布后java写的打印功能失效了-求解解决方法 急项目发布后java写的打印功能失效了-求解解决方法 www.myexceptions.net 网友分享于 ...
- java项目统一打印入参出参等日志
java项目统一打印入参出参等日志 1.背景 2.设计思路 3.核心代码 3.1 自定义注解 3.2 实现BeanFactoryPostProcessor接口 3.3 实现MethodIntercep ...
- 继续java如何实现打印功能
要在 Java 中实现打印功能,你需要使用 Java 的 PrintStream 类或者 PrintWriter 类.这两个类都有一个名为 print 的方法,可以用来打印内容. 例如,你可以这样使用 ...
- Java报表工具技巧--Style Report报表套打模板设计
在报表软件和报表工具领域,报表套打是最为常见的一个用户需求,例如发票.支票.信封.对账单.保单以及各类证件表格的打印都需要根据既定的表格样式快速批量打印出结果.报表套打功能也是各种报表工具必备的功能之 ...
- java开源报表工具,最好的开源报表工具
Best Open Source Reporting Tools一文列出目前比较好的几种开源报表工具 1. BIRT Project BIRT是基于Eclipse的报表系统,很有竞争力. 2. Pen ...
- 水晶报表中对某一栏位值进行处理_从主流报表工具的报价看报表行业的报价水深-----常用报表工具对比---主流报表价格对比...
由于报价对于一些价格较高而且不透明的厂商来说属于商业机密,所以我们就不贴图了,只贴了一些价格是公开透明的厂商的报价 拿到其他报价的,自己根据下文对比一下就能明白 目前市场上最主流的报表工具就那么几个, ...
- 国外开源报表工具和国产商用报表工具有什么不同?
报表工具关于开源还是商用的争论一直没有消停过,其实不管两者存在哪些差异,都应该不忘初心.按需选择.正因为需求不同,选择也不一样,所以在做出选择之前,要先搞清楚自己的需求是什么,然后再去做有针对性的对比 ...
- 开源报表工具python_开源web报表工具哪家强?5款最优软件
阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...
- Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...
最新文章
- ubuntu下使用conda出现solving environment失败
- [Struts]Token 使用及原理
- “新内容 新交互”全球视频云创新挑战赛复赛启幕
- centOS 5.5 安装 ORACLE 11G RAC 问题汇总
- 腾讯计费:亿万级大促活动自动化保障体系
- OkHttp实现登录注册验证
- Linux静默安装oracle
- 自动装箱,拆箱和NoSuchMethodError
- 百度快照被劫持跳转到博彩页面的解决办法
- 为什么你的种子磁力下载很慢?
- 使用telnet发送email(内嵌图片,附件)
- python爬虫+数据分析之NBA球员LBJ13个赛季的数据分析
- 华为服务器信息失败,服务器远程信息失败
- Android内存泄漏总结,一线互联网公司面经总结
- C语言位运算的高级应用(尤其适合单片机和嵌入式编程)
- offsetParent解释
- 艾永亮:以超级产品战略的角度,写一份竞品分析
- 分析Maya摄像机导入Nuke的方案
- window上完全卸载oracle
- PCL点云生成深度图像
热门文章
- 自媒体创作内容,专业是把双刃剑要把握好
- asp毕业设计—— 基于asp+access的课程教学网站设计与实现(毕业论文+程序源码)——教学网站
- 高防服务器的防御措施有哪些?
- 括号匹配问题( 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合)
- distinct用法及其优化
- elementUI vue页面代码
- Oracle中查看触发器使用到的SQL
- 青龙面板 依赖一键安装
- 微擎数据库表结构,供参考!
- 人脸识别IU(李知恩)