1.添加表头
我们以制作明细表式的报表为例。我们可以在右侧“Elements”中找到需要的所有组件。
首先需要设定表头。表头中,一般都是报表的名称,所以添加不可修改的文字即可。
如果表头只在第一页输出,则需要将表头文字放在“Title”区;如果表头每页都要输出,则应该放在“pageHeader”,即“页首”区。
点击“Elements”上的“Static Text”组件,如下图。
然后将组件拖拽到“Title”区或“pageHeader”区中,即可将组件加入到此区域中。
在此文字输入区域中输入表头名称即可。
输入完毕,需要设置文字属性,对文字进行排版。在右下角的“Properties”区中,可以设置静态文本框的位置、边框、文字属性等等。点击相应的页签,即可进行对应的设置。
2.设置PDF格式
为了让报表在PDF格式输出时可以正常输出中文,需要设定每个域的文字字体。
选择需要设定字体的文本域或者字段域,在右侧的“Properties”区,选择“Advanced”即可修改相关字体的设置。
具体设置如下:
- PDF Embedded:True
- PDF Encoding:UniGB-UCS2-H(Chinese Simplified)
- PDF Font Name:STSong-Light
3.设置边框
报表中可以设定每个输出域的边框。一般我们会选择四边均有边框的模式。
点击需要设定边框的字符或者字段域,在右侧的“Properties”区,选择“Borders”页,修改“Pen Width”(笔宽度),例如设置为“1”,即可显示此域的边框。
4.设置栏高
为了让报表输出的更美观,我们可以设定报表各个栏宽度。
点击左侧树形图中各个栏的名称,或者直接点击工作区中栏的区域,在右侧“Properties”区中,即可修改栏的高度。
可以在此处设置各栏的高度,不需要的栏,可以将高度设置为0。
为了使Detail区中输出的报表内容的表格可以相连,需要将Detail区的高度设为与字段域高度相同。本例中,字段域高度为30,则Detail域的高度也为30
5.设置字段域
以下,说明一下报表中“字段域”的一些常用设置。
在打印报表时,有的时候会遇到字段中的内容很长,标准的表格打印不下的情况。此时,用户就会希望表格能够自动适应内容的多少而自动增加行高。在JasperReport中可以通过设置实现。
选中所有需要设置的字段域,在右侧“Properties”区中可以进行如下设置。
- “Font”-“PDF embedded”:选择“true”,可以将报表输出到PDF中。
- “Font”-“PDF Encoding”:选择“UniGB-UCS2-H(Chinese Simplified)”,保证PDF中的中文可以正确编码。
- “Font”-“PDF Font Name”:选择“STSong-Light”,保证PDF报表中的中文可以正确显示。
- “Misc”-“Print repeated values”:选择“true”。在打印时,可以输出相同的值。
- “Print When”-“Detail Overflow”:选择“true”。在数据当页没有打印完毕,需要在第二页打印时,可以将表格的内容,包括边框,在第二页中输出。
- “Size”-“Stretch Type”:选择“Relative to Tallest Object”。则所有被选中的字段域可以自动适应条目拉伸。
- “TextField Properties”-“Blank when null”:选择“true”,是当字段的值是Null时,输出空白格。
- “TextField Properties”-“Stretch with overflow”:选择“true”,当文本域的内容不能完全被显示在模板定义的区域内时,允许文本域拉伸。
6.创建table表
Jasperreport Studio有两种创建表的方法,1.手动画表 2.可以直接使用table组件创建表,不用自己手动的画表,
- 6.1.手动画表
在报表的ColumnHeader区域画出表头需要的字段名, 然后在Detial区域放入查询语句查询出来的各个你所需要的字段,在Detial区域会自动循环出所有查询出来的数据 , 但是手动建表在报表中只能显示一张表,不能建多个表。记住,如果使用sql查询出来的数据有日期,那么需要将日期改成java.sql.date类型。
- 6.2.使用table组件画表
在右边Basic Elements 窗口中有个table的组件,直接拖过来放到除了Detail区域的其他区域如图显示
这里可以修改表名
选择数据库,添加查询语句,会出现下面这个窗口, 如图点击红色框出来的按钮,就是将字段全部取
选择一个字段名用来分组
然后一直next,最后finish
可以放多个表,这就是使用table组件的优点
注意:在建表的时候会有些字段可能为空,那么显示出来的就会为null,我们需要把这些可能为空的字段设置一下,当他为空的时候,显示空白 如下位置给字段配置下。
7.设置条形码
在左上的组件窗口里面有一个jasperreport自带的条形码组件,将他拖到指定的区域选择code128
双击这个 修改数据源
最后finish
在java中的配置以及可能出现的错误,看参考文献http://note.youdao.com/yws/public/redirect/share?id=68857136acfcc27edf4c1f6f05a7af95&type=false