[英]Is there any way to ask a ReportViewer if the result of the query inside a Report will yield more than 65k rows?
[英]ReportViewer - How can I render Excel files with more than 65,000 rows?
我正在使用ReportViewer
控件将报告数据导出到Excel。 一切正常,除非当我尝试导出具有约65,000行以上的数据时,它将引发异常。
我有什么变通办法可以将报告呈现为多个工作表? 谢谢!
Excel 2005和更早版本每张纸仅支持65536行。
Excel 2007和2010支持每张纸1048576行 。
就是说,ReportViewer导出到Excel的限制可能只有65536。以CSV
格式导出将帮助您解决此限制。
为了克服限制错误,RDLC提供了将页面分成多页的选项。
使用Adventure Works数据库,使用Report Viewer 10.0创建一个示例RDLC报告,该数据库显示了66000条以上的记录。
通过应用下面在RDLC报告中提到的步骤,可以轻松地将大数据导出到多张工作表中。
打开RDLC,然后选择表的数据行。 右键单击它,选择“添加组”,然后选择“父组”。
在这一步中,您应该获得一个Tablix组窗口。 输入下面在“分组依据”框中提到的功能,然后单击“确定”。
=Int((RowNumber(Nothing))/65520)
在下一步中,在RDLC报告的底部,您将找到“行组”窗格。 在这里,右键单击组名称,然后选择“组属性”。
您将获得一个组属性窗口。 我们可以在这里给一个适当的组名。
在左窗格的分页符中选中“在组的每个实例之间”选项。
接下来,在“排序”部分,删除“按功能排序”。
如果您在执行上述步骤后观察报告,则会添加Group1列,如下所示。 选择添加删除列。
现在,保存并运行报告并导出为Excel格式。 如果一切正常,则数据应显示在多张纸上。
如果我们在工作表2中观察到,报告标题将不会显示。 为了显示标题,添加下面提到的代码。
在XML编辑器中打开RDLC报告。 将下面提到的节点添加到TablixMembers节点的第一个TablixMember节点上。
<KeepWithGroup>After</KeepWithGroup> <RepeatOnNewPage>true</RepeatOnNewPage>
保存,重新运行报告并导出到Excel。 您可以在所有工作表的标题中观察多工作表中的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.