Jaspersoft iReport Designer 制作模板
软件版本 iReport - 5.6.0
1 安装注意事项
-
必须使用 JDK 1.7
启动不了,需要指定jdkhome
-
需要使用json格式数据填充爆掉,需要添加驱动
2 报表制作
2.1 新建报表
2.2 报表页面
页面组成:
- Title 报表名,只在第一页显示。
- Page Header 放页码,时间,创建人,每一页都会显示出来。
- Column Header 列名。
- Detail 1 循环的数据,比如说我们直接从数据库中得到数据,只用将字段拖到此区域,那么就会将所有的这个字段的值进行循环了。
- Column Footer 可以用来统计此列数据。
- Page Footer 每页底部都会显示的,如页码。
- Last Page Footer 最后一页的底部,如日期,签名。
- Summary 可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。Summary只在最后一页出现。
- No Data 没有数据时显示
- Background 背景图片
我们可以自己选择需要的部分,不需要的部分可以删除,删除之后可以add添加
2.3 常用组件
组件面板
“break”:分页符,分栏符。产生分页效果。
“chart”:饼状图,树状图等。
“crosstab”:交叉报表
“ellipse”:椭圆。
“frame”:框架,可放内容。
“image”:图片。
“barcode”:条形码。
“generic element”:一般的元素,没有效果,可以放元素。
“list”:列,放在其中的元素会跟着移动和删除。
“spider chart”:网状图。
“table”:表格,拖入的元素会自动与单元格大小重合。
“line”:仅直线。
“rectangle”:长方形,也可以调到正方形。
“round rectangle”:圆角长方形。
“static text”:静态文本,即不使用变量、参数等,输入什么就是什么。
“subreport”:子报表,会插入一个新的报表。
“Text field”:文本字段,可插入参数、变量。
Tools(工具)
“callout”:标注,有系统用户名、日期和时间,并不会显示在文件中。
“current date”:插入当前日期。
“page number”:当前页码。
“page X of Y”:当前多少页和总共页数。
“percentage”:百分比,需要字段。
“total page”:总页数
2.4 常需要设置属性
2.5 自定义样式
1、window--Style library -- 右键 add 添加style ,设置好了之后。再右键Add Style To Report,然后选中field 时,要style属性中选择自定的样式即可。
右击style 选择“添加”—“Style” , 可以在属性中设置style的各种属性,也可以默认不改;
2、右击style 选择“添加Conditional Style”,添加在各种情况下设置不同的style属性,右击每个Conditional Style 选择“Edit Condition”为每个Condition Style 设置触发条件,比如 $F{username}.length()>10,设置字体Forecolor颜色和大小,其它可以默认即可。
3、在field的style上引用新建style1样式。
4、如果引用样式没有效果,那是自定义style1样式与本来field 的字体大小冲突,还得在xml中删除 field的字体大小。
如下 field 删除 字体大小 size="13",style="style1"引用样式。
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="1e7d3883-9d23-4013-a964-341f71555ca1" style="style1" stretchType="RelativeToTallestObject" x="69" y="120" width="486" height="491"/>
<box>
<rightPen lineWidth="0.75"/>
</box>
<textElement>
<font fontName="仿宋" size="13" isStrikeThrough="false" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/>
</textElement>
<textFieldExpression><![CDATA[" "+$F{GRCS}]]></textFieldExpression>
</textField>
5、样式xml
<style name="style1">
<conditionalStyle>
<conditionExpression><![CDATA[$F{GRCS}.length()<=2000 && $F{GRCS}.length()>1500]]> </conditionExpression>
<style fontName="仿宋" fontSize="10"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{GRCS}.length()<=1500 && $F{GRCS}.length()>1000]]> </conditionExpression>
<style fontName="仿宋" fontSize="12"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{GRCS}.length()<=1000]]></conditionExpression>
<style fontName="仿宋" fontSize="13"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{GRCS}.length()>2000]]></conditionExpression>
<style fontSize="9"/>
</conditionalStyle>
</style>
注:可以设定不同的Condition Style,让报表元素可以根据不同的条件显示不同的状态(控制颜色显示) 用报表去对比不同的数据时,可以使用这个功能,方便将不一致的地方自动根据设定好的条件,用不同的颜色或者其它形式显示出来; 一份报表可以设定多个不同的Style,在给报表的每个元素赋予不同的Style,来达到控制显示的效果;
2.6 交叉报表
从“组件面板”中拖拽“Crosstab”控件(如图5.1)到“Summary”部分
在“Row Group 1”处从查询出来的字段中选择“student_name”作为每行的行标题,之后从“Column Group 1”处选择“subject”作为每列的列标题,再单击“下一步”,显示每个学生的总成绩,不显示每科的总成绩。
组件面板
选择数据
选择行字段
选择列字段
选择合计
创建完成
Preview预览 Compile 编译
预览结果: