页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

现象

当电子表格数据太多,并且进行分页展示时,有可能会抛出错误“报表异常:The count of HPagesBreaks cannot be larger than 1024”。


该问题是由于Excel中对于“分页符”的个数是有限制的,不可以超过1024个分页符,导致电子表格在进行分页的情况下,也不可以超过1024页。

解决思路

此问题可以按照下面的思路进行排查和处理。


== Step1 =====

先检查数据集数据有多大,如果数据集数据量本身不大,但还是报这样的错误,检查报表是否设置了分页属性。

             


== Step 2=====

如果是数据集量比较大,且确实需要进行分页展示,请参考以下几种方案,酌情采用。


==》方案1:改用清单报表

如果报表的格式比较简单,只是报表表头+列头+数据形式的明细数据展示,建议使用电子表格中的“清单报表”类型。

如下,报表样式:


可以在Excel中“smartbi”页签下找到“页面设置”按钮,将报表类型选择为“清单报表”

详情请参考: 纯清单报表



==》方案2:减少数据量

尽可能对电子表格的数据集通过添加参数等方式进行过滤,减少报表的数据量。下面提供一种将数据按照1024页为一批的方式,进行分批展示的做法。

原始报表如下:


步骤1:在数据集中增加页数字段,页数从1开始递增,且属于同一页的数据的页数字段数据相同。

先根据目前的情况,确定电子表格中每一页展示多少条数据。并在电子表格的数据集中使用相应的sql函数等,增加一个页数字段。这个页数字段从1开始递增,且同一页的数据其页数是相同的。

如下例子,电子表格中每页显示4条数据,因此每4条数据的页数是一致的。且页数按照每4条的间隔递增


步骤2:对页数进行计算,为每一条数据增加批数字段

继续编辑数据集,根据页数进行计算,为属于同一批1024页的数据增加批数字段。比如第1页-1024页,属于第1批数;第1025页-2048页,属于第2批数;... ...

效果如下:

前1024页数据:

第2个1024页数据:


步骤3:增加批数参数

新建一个下拉框参数,将数据集的sql中的批数取出来,作为参数的真实值,并通过sql拼凑出“第X批数”作为显示值。如下:


步骤4:为电子表格数据集增加参数,实现选择批数功能

编辑步骤2中的数据集,在sql中添加where条件“where 批数数据=批数参数”,即可实现批数的切换


步骤5:保存数据集之后,重新预览电子表格。如下:

第一批数据:


第二批数据:




==》方案3:增大纸张大小

在Excel的页面布局中,设置纸张大小,比如原本是A4纸张,可以调整成A3纸张。增大纸张大小之后,页面能够显示的数据量也会增加,则分页符就会相应减少。


       

Viewtracker License Missing

There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.

授权码细节