避开 Excel 2003 的行限制

本文介绍在将分页报表导出到 Excel 时,如何避开 Excel 2003 的行限制。 本解决方法适用于只包含表的报表。

重要

Microsoft Excel 2003 (.xls) 呈现扩展插件已弃用。 有关详细信息,请参阅 SQL Server 2016 的 SQL Server Reporting Services 中弃用的功能

Excel 2003 每个工作表最多支持 65,536 行。 在一些行后强制添加一个显式的分页符可避开此限制。 Excel 呈现器会为每个显式分页符创建一个新的工作表。

创建显式分页符

  1. 在 SQL Server Data Tools - 商业智能或 Reporting Services Web 门户中打开报表。

  2. 右键单击表中的“数据”行,然后选择“添加组”。 选择“父组”以添加外部表组。

    Screenshot of screen where you select the Parent Group.

  3. 在“分组依据”表达式框中输入下面的公式,然后选择“确定”添加父组。

    =Int((RowNumber(Nothing)-1)/65000)

    此公式会为数据集中的每个组(65000 行为一组)分配一个编号。 如果为组定义了分页符,则此表达式会每隔 65000 行插入一个分页符。

    添加外部表组会向报表添加一个组列。

  4. 删除组列:右键单击列标题,依次选择“删除列”、“仅删除列”和“确定”。

    Screenshot of deleting a group column.

  5. 右键单击“行组”部分中的“组 1”,然后选择“组属性”。

    Screenshot of the screen where you view group properties.

  6. 在“组属性”对话框的“排序”页面上,选择默认排序选项,然后选择“删除”。

    Screenshot of deleting default sorting.

  7. 在“分页符”页面上,选择“在组的各实例之间”,然后选择“确定”。

    Screenshot of the screen where you set page breaks.

  8. 保存报表。 在将其导出至 Excel 时,其会导出成多个工作表,且每个工作表最多包含 65000 行。