强制要求:版本6.3.1、开发字体 黑体(字体包导入成功后,下拉框没有黑体时,手动输入黑体也可以)

    1.新建模版
    receipt — New — Jasper Report — Blank A4(默认) — next — (取个名字)Finish
    image.png

    ⚠️需要小票模板的,需要调整Page Format里的宽度和单位(Detail中右键点击就能召唤出Page Format这个选项)
    image.png

    2.布局可以参考百度理解一下,一般推荐用Detail就够了
    image.png
    在做一个模版时要观察产品提供的原型,总结一下需要多少个Detail(可以理解为板块)
    1.基础信息可以暂定一个Detail。
    如果出现一行内容显示过多,导致内容截断(只显示部分内容),
    这一行需要单独创建一个Detail,保证会自动扩充显示。
    2.出现表格内容时也需要暂定一个Detail。
    如果有小计行类似的也是需要单独开个Detail的。
    3.尾部信息一般情况只需要一个Detail。
    总结:动态的内容需要单独一个Detail,固定的内容也需要一个Detail。

    3.使用组件(右侧可以看到)
    image.png
    常用的几种:
    Text Field 这个是用来展示动态内容的,对应【左侧Parameters】里的值
    Static Text 这个是用来展示静态内容的
    Image 展示图片
    Line 分割线【需要用到线的地方就找它】
    table 展示表格的
    Rectangle 展示一个框
    总结:根据业务需要灵活应用

    4. Properties
    用来设置内容,就像一个调配器(谁用谁知道)
    右键点击任何内容,选中Show Properties开始欢快的人生
    image.png
    Appearance标签的设置参数:
    1.Location 控制组件的位置(x轴、y轴)
    2.Size 控制组件的宽度(w)和高度 (y)
    3.Color 勾选
    Transparent 控制是否为透明
    4.Style and Print Details 一般勾选如图所示,表示允许打印重复的值
    5.Print When 勾选
    Detail Overflows 控制内容溢出、Print When Expression** 相当于增加一个if()条件

    image.png
    Borders标签的设置参数(顾名思义主要控制边框有无粗细的显示):
    1.Borders(默认不显示边框)
    (1)Pen Color 控制颜色(肯定是黑色的)
    (2)Pen Style 控制边框、线的样式
    (3)Pen Width 控制边框、线的粗细(0.4~0.6)
    (4)Default borders styles 控制显示四个方向的边框(当然图中红框位置也可以点击自定义选择)

    image.png
    Text Field标签的设置参数:
    1.Expression 参考(5.填充参数)
    2.Blank When NULL、Stretch With Overflow 控制不显示null、内容可以折行
    3.Left/Right Indent 类似css中的边距

    5.填充参数
    左侧 选中Parameters 右键 — Create Parameter — 参数名对应java模版实体类的参数名(注意大小写)
    创建参数时注意参数类型,
    1.字符串类型的选择String
    2.数字类型的选择BigDecimal
    3.List类型的粘贴 net.sf.jasperreports.engine.data.JRMapCollectionDataSource

    6.table
    1.拖动table组件到Detail,创建表格
    一路next — Finish 或直接Finish
    如果要配置表格的样式,需要仔细next(有样式设置选项)
    2.对【左侧Parameters】中的List类型数据进行关联
    点击Dataset标签,选择一个承接的Dataset Run(一般表格创建后左侧会自动出现一个Empty Dataset)
    点开树形列表,选中【Fields右键】 — Create Field 创建参数名,对应List里面的参数名(序号这一列最好在java这边处理)
    选中 Use a JRDatasource expression 项 点击右侧 选择Parameters中的List类型的参数进行关联。

    7.工具包(实用的一些功能)
    a.标题(模版中拼接最方便)
    例如:$P{title}!=null?$P{title}+”xxx打印单”:””
    b.小数保留2位小数或多位
    例如:$F{subtotal}.setScale( 2, BigDecimal.ROUND_DOWN )
    c.字符串取第一个值
    例如:$F{number}.toString().split(“\.”)[0]
    d.判断List的大小
    例如:$P{serviceDetailVOList}.getRecordCount()>0
    c.表格嵌套表格请参考智能检测单模版


    相关推荐——Jaspersoft Studio报表设计====传送门