Jasper Report详细使用教程

发布于:2024-07-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

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工程里面。