1. 概述
1.1 版本
报表服务器版本 |
---|
10.0 |
1.2 预期效果
有时我们会遇到列数很少,但是扩展出很多行的报表,这种报表窄而长,预览或打印时会有很大的一片空白区域,不美观且浪费纸张。希望可以实现数据是从上到下扩展,超过20行,就在第2列中显示,并且每列数据都有列表头,整个表格有一个大标题。如下图所示:
1.3 实现思路
2. 示例
2.1 数据准备
新建普通报表,新建数据集ds1:SELECT * FROM 人员变动表,如下图所示:
2.2 报表设计
如下图,在报表主体上设计如下图所示:
单元格设置如下表所示:
单元格 | 设置 |
---|---|
A1~E1 | 合并 A1~E1 单元格,输入文本:各分公司员工劳动关系详表。 |
A2~E2 | A2~E2 单元格分别输入文本:分公司名称、序号、员工姓名、劳动关系、学历;格式选择「跟随主题> Head」,不扩展。 |
A3、C3~E3 | 分别拖入对应的数据列,纵向扩展。 |
B3 | 左父格为 C3,插入公式:seq(),作用是对 C3 列进行顺序编号,其详细使用方法请查看:行序号 |
另:报表设计时,大标题必须要覆盖整个分栏区域。
预览效果如下,可以报表每页右侧都有很多的空白区域,浪费空间:
2.3 分栏设置
如上图,报表右侧还有很多空白区域,那么就可以设置行分栏,将左侧超过固定行的数据挪到右侧。这里我们设置每一栏显示 20 行数据(不包括表头)。
在菜单栏中,选择「模板>报表分栏」,“开启”分栏:
1)分栏样式:“行分栏”;
2)超过 X 行分栏:每栏最多 X 行数据,超过行数的数据分到下一栏,本示例为每栏 20 行数据;
3)分栏成 X 列:根据数据总行数(不含表头)N 确定,每栏行数=总行数 N / 列数 X,该选项在只要求分成固定栏数时使用,本示例不使用;
4)分栏区域:根据示例设计的模板,需要分栏的“分栏数据”为“A3:E3”;行表头需要在分栏后重复,行表头所在行序号为 2,所以“复制行序列”为“2”。如下图:
5)补充空白行:当最后一栏数据不足 20 行时,如果需要将不足的添补为空白行,则勾选此项;如果不需要添补,则此项不勾选。
2.4 注意事项
纵向扩展时,由于栏数不定,设置上面的分栏后,一页可能会显示出多栏,甚至最右边的栏会显示不全,而我们往往希望每页能够固定显示两栏或三栏。此时我们需要保证,设计报表时:
1)如果每页显示两栏或三栏,左侧设计报表所占的总列宽最多不超过分页线内宽度的 1/2 或 1/3,如下图示例的显示两栏情况;
2)如果左侧设计报表的宽度不能再小(或再大),就需要调整需要分页线的位置(参见调整 页面设置),以保证页面宽度能显示希望的栏数,而不至于显示不全。
3. 效果预览
3.1 PC 端
保存模板,选择分页预览,效果如 1.2 节所示。
注:分栏只适用于分页预览。
3.2 移动端
App 与 HTML5 端效果相同,如下图所示: