[]
        
在线Demo 免费试用
(Showing Draft Content)

多列打印

1. 概述

1.1 功能概述

报表支持两种多列打印布局:"Z字型"(横向从左到右顺序换行)和"N字型"(纵向从上到下顺序换列),满足不同场景的数据展示需求。

接下来使用示例为您介绍这两种多列打印的具体实现方法。

2. 操作步骤

2.1 Z字型多列打印

实现"Z字型多列打印"采用矩表实现,其主要问题在于行分组和列分组的设置。

2.1.1 数据准备

  1. 在报表设计器中,使用矩表组件,在矩表数值区拖拽一个容器组件(防止最后打印的时候二维码溢出),然后在同一个单元格中拖拽添加一个“条形码”组件(有关条形码的更多介绍,请见条形码),如下图示。

    image

  2. 从左侧工具箱,打开元素管理,选中条形码,在右侧属性面板绑定数据。

    PixPin_2025-07-07_14-09-37

  3. 选中行分组在分组内下方插入一行用来展示二维码的数值。

    PixPin_2025-07-07_14-12-07

  4. 选中新增的文本框,绑定数据字段(如订单编号)。

    PixPin_2025-07-07_14-13-04

2.1.2 分组设置规则

本方案通过对“订单编号”数值部分进行数学运算实现行列分组:

  • 列分组: 订单编号数值除以列数(示例为10列)取余数,余数相同者归为同列

    • 示例: 订单编号122 → 122%10=2 → 归入第2列

  • 行分组: 订单编号数值除以列数取整数商,商值相同者归为同行

    • 示例: 订单编号122 → 122÷10=12 → 归入第12行

2.1.3 设置分组

  1. 按照下图,选中列分组,在右侧设置列分组条件为表达式分组:

    PixPin_2025-07-07_14-18-28

  2. 列分组的表达式为:{ToInt16(订单编号.Substring(1)) Mod 10}

    PixPin_2025-07-07_14-18-45

    说明:

    (1)这里的被除数为10,代表分为10列打印。

    (2)因为订单编号字段本身类型为字符串,所以需要进行数据截取和数据类型转换。(关于表达式的用法请参考:表达式专题

  3. 同样对于行分组设置分组条件:

    PixPin_2025-07-07_14-20-27

  4. 行分组的分钟表达式为:{Floor(ToInt16(订单编号.Substring(1)) / 10)}

    PixPin_2025-07-07_14-20-48

    说明: 以上表达式是对订单编号截取数字数值之后,进行类型转换,之后再除以10取了整数部分。

  5. 为了保证打印的顺序正确,我们需要设置列分组排序规则,与列分组的表达式相同。

    PixPin_2025-07-07_14-22-11

2.1.4 预览

  1. 为了方便验证结果,在列分组和行分组的数值区域绑定了刚刚设置的行、列分组的表达式:

    PixPin_2025-07-07_14-25-44

  2. 如果不想显示其他单元格,可以将对应的单元格背景色设为透明色即可,以下是实际效果图:

    PixPin_2025-07-07_14-26-02

2.2 N字型多列打印

N字型多列打印方式采用分栏报表实现,相对比较简单。

2.2.1 数据准备

  1. 在报表设计器拖拽一个列表组件,在其中放入一个容器,容器内可放置和绑定您想要打印的信息:

    PixPin_2025-07-07_14-29-28

2.2.2 设置分组

  1. 从左侧工具栏打开元素管理,选中列表元素,在右侧属性面板对其进行分组条件的设置:

    PixPin_2025-07-07_14-32-09

2.2.3 设置分栏

  1. 对报表设置分栏数量:

    PixPin_2025-07-07_14-31-42

2.2.4 预览

  1. 预览效果如下:

    image2022-7-5_11-10-21.png

3. 资源下载

  1. Z字型多列打印示例文件包: 下载后,您可直接导入至对应版本系统中查看使用。

    Z字型多列打印.zip

  2. N字型多列打印示例文件包: 下载后,您可直接导入至对应版本系统中查看使用。

    N字型多列打印.zip

    type=info

    注意: 本示例压缩包基于8.1版本制作,请使用8.1及以上版本并参照导入与导出文档操作(低版本可能存在兼容性问题,建议升级)