Jasperreports6.3.1+Jaspersoft studio6.3.1进行报表开发实战教程(二)

报表生成流程

上章做了许多的准备工作,现在该说明用Jasperreport生成报表的工作流程了。 
这里写图片描述 
1. JRXML:报表填充模板,本质是一个XML. 
2. Jasper:由JRXML模板编译生成的二进制文件,用于代码填充数据。 
3. Jrprint:当用数据填充完Jasper后生成的文件,用于输出报表。 
4. Exporter:决定要输出的报表为何种格式,报表输出的管理类。 
5. Jasperreport可以输出多种格式的报表文件,常见的有Html,PDF,xls等

模板生成:JRXML

模板生成我们用Jaspersoft studio6.3.1进行可视化编写,这个软件代替了以前的IReport进行Jasperreport的模板生成。上一章我们已经安装好这个软件,现在将它打开。 
这里写图片描述 
有没发现跟Eclipse很像,没错这是基于Eclipse开发的开源软件,熟悉Eclipse的同学相信很快上手。

新建一个报表模板

这里写图片描述

选择一个页面布局的模板,这里选了一个空的A4纸大小的模板。 
这里写图片描述

点击Next,命名模板。 
这里写图片描述

点击Next,出现一个创建数据源的选项,在报表模板设计中,数据源可以是数据库,也可以是一个实体类集合(javaBean)。在这里我们点击New选择一个空的数据库,现阶段我们实现简单的功能还不用用到数据源,后面会详细介绍如何连接到数据库与实体类集合。 
这里写图片描述 
对数据源进行命名,点击Finish完成。 
这里写图片描述 
回到原来窗口,点击Finish,模板创建完毕. 
这里写图片描述

完成之后,可以看到JRXML的结构图,工具栏与Eclipse开发Java程序一致 
这里写图片描述

首先观察模板的Outline,有助于我们了解Jrxml设计的要素 
这里写图片描述

  1. Styles:可以引用的布局风格
  2. Parameters:报表的参数,可由外部传入数据填充。
  3. Fields:域、字段,由上面关联的数据库或实体类所产生。
  4. Sort Fields:对字段进行排序筛选后的字段。
  5. Variables:变量,可以创建变量来进行一些数学计算。
  6. Scriptlets:报表模板实质是一个标签语言,故也可以使用脚本语言。
  7. 文档结构区: 
    • Title:标题是首先看到的区域,它只被创建一次,可被打印在单独的页面上。标题不可能超过报表的设计高度(不包括顶底部边距)。
    • Page Header:页眉区域,高度一般不会在设计过程中发生改变,除非插入可调整大小的组件(如文本)。页眉出现在所有打印界面设定好的区域,如标题和摘要打印在另一个单独的页面则不会包括页眉区域。
    • Column Header:表头被打印在第一个细节列表的开始位置,通常作为列表会被插入在这个区域。
    • Detail:一般用于显示表格,可以包含多个表格。
    • Column Footer:表尾区域出现在第一列的末尾,它的尺寸在运行时不可调整大小。
    • Page Footer:页脚,出现在有页眉的页面,在运行时不可改变大小。
    • Last Page Footer:如果你想让最后一页页脚不同于其他的页脚,就可以使用特殊的最后一页页脚乐队。如果区域高度为0会被完全忽略了,常用于最后一页。
    • Summary:摘要区域允许你插入字段总数,方法,或者任何想在报告中包括的信息。
    • No Data:无数据。
    • Background:背景使您能够创建水印和类似的效果,如一个框架 
      在整个页面。它可以有一个最大高度等于页面高度。

查看JRXML源码 
点击页面下方Desing旁边的Source可以看到JRXML的源码,从中可以看到源码就是由标签语言组成,一个个标签构成了模板的各个元素,可以从源码里对模板进行更加细致的设计。

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.3.1.final using JasperReports Library version 6.3.1  -->
<!-- 2017-02-21T19:13:07 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="JasperSample" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a2d74768-b0f9-4388-a9ab-d79179e0928f">
    <property 
//数据源的设置
name="com.jaspersoft.studio.data.defaultdataadapter" value="MyAdapter"/>
//如果是数据库,则可以设置查询语句
    <queryString>
        <![CDATA[]]>
    </queryString>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch"/>
    </title>
    <pageHeader>
        <band height="35" splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band height="61" splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="125" splitType="Stretch"/>
    </detail>
    <columnFooter>
        <band height="45" splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="54" splitType="Stretch"/>
    </pageFooter>
    <summary>
        <band height="42" splitType="Stretch"/>
    </summary>
</jasperReport>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值