本文介绍在将分页报表导出到 Excel 时,如何避开 Excel 2003 的行限制。 本解决方法适用于只包含表的报表。
重要
Microsoft Excel 2003 (.xls) 呈现扩展插件已弃用。 有关详细信息,请参阅 SQL Server 2016 的 SQL Server Reporting Services 中弃用的功能。
Excel 2003 每个工作表最多支持 65,536 行。 在一些行后强制添加一个显式的分页符可避开此限制。 Excel 呈现器会为每个显式分页符创建一个新的工作表。
创建显式分页符
在 SQL Server Data Tools - 商业智能或 Reporting Services Web 门户中打开报表。
右键单击表中的“数据”行,然后选择“添加组”。 选择“父组”以添加外部表组。
在“分组依据”表达式框中输入下面的公式,然后选择“确定”添加父组。
=Int((RowNumber(Nothing)-1)/65000)
此公式会为数据集中的每个组(65000 行为一组)分配一个编号。 如果为组定义了分页符,则此表达式会每隔 65000 行插入一个分页符。
添加外部表组会向报表添加一个组列。
删除组列:右键单击列标题,依次选择“删除列”、“仅删除列”和“确定”。
右键单击“行组”部分中的“组 1”,然后选择“组属性”。
在“组属性”对话框的“排序”页面上,选择默认排序选项,然后选择“删除”。
在“分页符”页面上,选择“在组的各实例之间”,然后选择“确定”。
保存报表。 在将其导出至 Excel 时,其会导出成多个工作表,且每个工作表最多包含 65000 行。