6

我有一个 SSRS 报告,当行数大于 Excel 2003 的 65536 限制时,它无法导出到 excel

报表已经有一个带有组页脚的分组级别。

我试图在表达式上添加一个带有分页符的额外分组级别

=ceiling(rownumber(nothing)/65536)

但是,这会计算详细信息行,但不考虑组页脚。因此,行数计算为 53000,而实际行数已超过 65536。

下面的表达式

=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 可以知道我的数据集中有多少详细信息行,但我需要将页脚考虑到分页符。

4

2 回答 2

4

您好,此链接可能对您有所帮助。几年前我也遇到过类似的问题。

Tablix 上的 SSRS 分页符,带有行号,只有一个行组,默认情况下没有组表达式

=Floor((RowNumber(Nothing)-1)/2000)

是建议的答案

于 2014-08-01T11:13:04.700 回答
2

使用以下表达式创建一个组:=CInt(Ceiling(RowNumber(nothing)/65000))

65000 为任何页眉或页脚提供了一点额外空间。接下来,对该组“在组的每个实例之间”和“也在组的末尾”进行分页,您将成功解决 excel 文件限制问题。

这是我们通常使用的,没有任何问题。如果您不专门使用所有 65,536 行,我认为没有人会注意到。

于 2013-10-15T14:14:00.847 回答