数据是横向扩展的,超过一页的数据会显示在下一页,而每页下面会有很大的一片空白区域,不美观且浪费纸张。希望在一页中第一行扩展满后自动到下一行继续扩展。
可以使用列分栏来实现这种横向扩展自动换行的效果,如下图数据是从左到右扩展,显示完8天的数据之后自动到下面继续扩展。
前期准备工作(包括相关工具或所使用的原料等)
Java报表插件:FineReport电脑详细的操作方法或具体步骤
数据准备
新建模板,新建数据集ds1:SELECT * FROM 公司股票。
模板设计
在报表主体设计报表样式,如下图:
所有的数据列均设为横向扩展(默认为纵向扩展),数据列的扩展请查看数据的扩展,seq公式的上父格设置为B3。

未分栏预览
保存报表,预览模板,如下图,可以看到数据每页只能显示9列,下方有很多空白地方,浪费空间:

分栏设置
上图可以看到每页能显示9列数据,除去标题列,只能显示8列数据,那么我们这里就可以设置每一栏显示8列,超过的到下一栏显示,以此类推。
就可以在菜单栏中,选择模板>报表分栏,设置为列分栏,超过8列时进行分栏,参与分栏的数据从B2到B8,故在分栏数据中填写B2:B8,如下图:

超过列分栏是指横向扩展的数据超过固定列数就进行列分栏,其中超过列分栏的数字计算公式为:
超过列分栏的数字=(分栏数据中结束分栏列序号-开始分栏列序号+1)*倍数,标题列不参数计算
如上图,分栏区域中分栏数据位B2到B8,结束分栏列序号和开始分栏列序号均为2(即B列),示例要求每个栏位显示8列数据,每条数据只占一列,所以倍数为8,那么:
超过列分栏的数字=(2-2+1)*8=8
分栏成x列
分栏成x列与分栏成X行原理一致,这里不再赘述。
复制列序列
复制列序列是指在分栏时将该列复制作为每个栏位的标题,因此其一般应用于单元格是标题的列,复制列序号的行不参与分栏。
分栏时的特别要求
由于行数不定,设置上面的分栏后,一页肯定会显示出多栏,甚至最下边的栏会显示不全,此时我们需要保证,设计报表时,上方设计报表所占的总行高,需要跟下方所在报表范围内的空白大小成为倍数的关系,就可显示几栏了,可以通过页面设置来调整报表大小。
注:报表设计时,大标题必须要覆盖整个分栏区域,如示例中的“某公司2~4月份股票行情”(大标题)所在的单元格所在区域必须包含到B1单元格,如不覆盖到分栏区域的最大区域,效果与行分栏中类似。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
