Jasper Report详细使用教程

1、编写jrxml文件

  • 1.1 新建项目
    使用Jaspersoft Studio来创建一个项目,如图所示,新建一个项目,步骤: File -> New -> Project->JasperReportsProject
  • 1.2 新建一个Jasper Report模板
    找到你新建的项目。步骤:项目右键 -> New -> Jasper Report,选择 Blank A4 (A4纸大小的模板),然后点击Next并对模板命名

    如图所示,报表模板被垂直的分层,每一个部分都是一个Band,每一个Band的特点不同:

    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后面。主要是用来做报表的合计显示。
  • 1.3 通过拖拽右边控件到指定位置画出一个人员信息的报表模型
    红框部分,上面是各种组件窗口,下面是组件的属性设置窗口。

  • 1.3.1 JasperSoft studio常用控件的使用方法
    1.Static Text: 静态文本控件,用于展示静态文本
    2.Text Field: 动态文本控件,可从数据库,或者是Map集合,或者JavaBean中获取数据,然后填充到此组件中。
    语法:$F{value}
    3.Image: 图片控件,此控件有两个常用值,如下图所示:

    在这里选择第一项可以动态加载工作空间中的图片资源。
  • 1.4报表页面介绍





  • 1.5子报表的使用
    运行效果:

    1.5.1首先制作一个子报表
    在Jasper Studio中新建一个模板文件,这里我就叫做【subReport.jrxml】,将模板文件中除了Detail区域之外,其余的都删除,如下图示:

    接着添加三个Text Field文本域组件到Detail区域里面,调整样式,修改Detail区域高度等于30px,这里修改高度是为了让子报表的高度根据数据的来自动扩展。

    到这里,子报表就算已经制作完成了,当然你要增加样式,你可以根据实际需求改动,我这里只是告诉你如何制作父子报表。
  • 1.5.2父报表中引用子报表
    首先父报表中需要新增一个字段

  • 此时会弹出一个窗口,让你选择子报表文件的路径。


     
  • 选择成功之后,调整一下子报表的样式,最终样式如下所示。
  • 设置子报表的数据源

    设置子报表路径

  • 设置子报表数据源

    需要注意的是,数据源类型必须使用
    【new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{subData})】方式包装起来。不要问为什么,就按照这样写就没问题,不然会报错。
  • 到这里,我们的父子报表模板文件就制作成功啦,编译模板文件,生成对应的文件,将其放入到Java工程里面。

JasperReport 是一个开源的报表生成工具,它提供了丰富的功能来创建和设计报表。在 JasperReport 中,可以使用分页来控制报表的布局和显示。 要实现分页,首先需要在报表的设计中定义一个分页区域。可以通过在报表模板中添加 Page Header(页眉)、Page Footer(页脚)以及 Detail(详细内容)等部分来定义报表的布局。 在 JasperReport 中,可以使用不同的元素和属性来控制分页行为。以下是一些常用的分页相关元素和属性: 1. Page Break 元素:可以将报表内容分隔到不同的页面上。可以在需要分页的地方添加一个 Page Break 元素,它会将内容分割到下一页。 2. Keep Together 属性:可以设置元素是否保持在同一页上。如果将元素的 Keep Together 属性设置为 true,则 JasperReport 会尽量将该元素保持在同一页上,避免被分割到不同页面。 3. Band Height 属性:可以设置各个 band(区域)的高度。通过适当设置 band 的高度,可以控制每页显示的内容量。 4. Print When Expression:可以使用 Print When Expression 来根据条件控制元素的显示。通过在元素上设置 Print When Expression,可以根据特定条件来决定元素是否显示在报表中,从而达到控制分页的目的。 通过合理地使用以上元素和属性,可以实现 JasperReport 的分页功能。需要根据具体的报表设计和需求来选择合适的方式来控制分页行为。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值