我有一个SSRS报告,当行数大于Excel 2003限制65536时,无法导出到excel
该报告已经具有组页脚的分组级别。
我尝试在表达式
上添加额外的分组级别和分页符=ceiling(rownumber(nothing)/65536)
但是,这会计算详细信息行,但不会考虑组页脚。因此,当实际行数超过65536时,rownumber的计算结果为53000。
以下表达式
=ceiling(RunningValue(Fields!myfirstgroup.Value, CountDistinct, Nothing) + rownumber(nothing) / 65536 )
将为我提供包括组页脚在内的实际行数,但SSRS不允许在运行值表达式上使用组。
如何在65536行之后强制分页以允许导出到Excel?我曾希望在报告定义中完成此操作,并避免在查询中添加计算的页码。
任何帮助非常感谢
*更新 - 样本数据*
ItemDescription , Location , Quantity
Red lorry , M25 , 5
Red lorry , M6 , 2
Yellow lorry , M1 , 3
报告对ItemDescription进行了分组,其中包含该项目的总计,因此会显示
ItemDescription , Location , Quantity
Red lorry , M25 , 5
Red lorry , M6 , 2
Total for Red Lorry,7
Yellow lorry , M1 , 3
Total for Yellow Lorry,3
这意味着从我的3行数据中,我有5个报告行,包括细节和页脚行。 SSRS可以告诉我的数据集中有多少详细信息行,但我需要考虑页脚中断的页脚。
答案 0 :(得分:4)
您好,此链接可能会对您有所帮助。几年前,我遇到了类似的问题。
=Floor((RowNumber(Nothing)-1)/2000)
是建议的答案
答案 1 :(得分:2)
使用以下表达式创建一个组: = CINT(天花(ROWNUMBER(无)/ 65000))
65000为你的任何页眉或页脚提供了额外的空间。接下来,对此组执行分页“在组的每个实例之间”和“也在组的末尾”,您将成功击败excel文件限制问题。
这是我们通常使用的没有任何问题。如果您没有专门使用所有65,536行,我认为没有人会注意到。