Reporting services SSRS LocalReport模式需要很长时间才能以PDF格式呈现

Reporting services SSRS LocalReport模式需要很长时间才能以PDF格式呈现,reporting-services,Reporting Services,我有一个web应用程序,需要以PDF格式显示许多报告。这是一个asp.net应用程序,我正在使用SSRS LocalReport对象以PDF格式呈现,然后写入页面。我必须使用本地模式(而不是远程模式),因为在发送到报表进行渲染之前,我在C#中对数据进行了大量处理 我发现这些报告需要很长时间才能呈现,有些需要几分钟。这是不可接受的,因为我在2000年使用Crystal Reports V8编写的上一个应用程序在几秒钟内呈现这些报告 我使用的是VS 2012和report Viewer 2012,我

我有一个web应用程序,需要以PDF格式显示许多报告。这是一个asp.net应用程序,我正在使用SSRS LocalReport对象以PDF格式呈现,然后写入页面。我必须使用本地模式(而不是远程模式),因为在发送到报表进行渲染之前,我在C#中对数据进行了大量处理

我发现这些报告需要很长时间才能呈现,有些需要几分钟。这是不可接受的,因为我在2000年使用Crystal Reports V8编写的上一个应用程序在几秒钟内呈现这些报告

我使用的是VS 2012和report Viewer 2012,我很惊讶技术在12年内倒退了这么多

我注意到SSRS在页面呈现方面存在巨大的问题,我认为这是因为SSRS的结构是基于控件的,而不是真正基于页面的Crystal Reports。因此,Crystal在页面大小、页眉、页脚和页面编号方面不会有太多的问题


任何有类似问题和建议的人都将不胜感激。

Reporting Services有一个名为“InteractiveSize”的报告级属性。这可以设置为0,0,这基本上意味着整个报告将呈现在屏幕上。将其设置为适当的A4(21cm,29.7cm)或其他标准页面大小,例如US Letter(21.6cm,27.9cm),将导致报表呈现器按需呈现页面,就像Crystal那样。

我做了大量研究和实验,能够显著加快报表的速度。我想与大家分享一些我实施的改进

1.)不要使用全局总页数,因为它会强制报告处理两次

2.)在向字段分配数据时避免使用表达式。我发现这是造成延误的主要原因。我用的一些表达

                  = Format(myDate, "dd-MMM-yy")
                  = ": " + myfield.value
我在代码中进行了所有格式化,并将格式化后的数据提供给报表,不让报表进行任何表达式处理

3.)文档映射应该只是一个字段,不使用任何表达式

4.)尽可能将TextBox和Row属性设置为false

5.)避免在报告中使用代码部分


我希望这对以后的其他人有所帮助。

感谢达沃斯,不幸的是,我是以PDF格式呈现的,而不是通过报表查看器。在PDF中渲染,实际上会强制格式化报告页面,因此在PDF中渲染时不会使用交互测量,也不会影响渲染速度。真棒!我的问题是PDF比XLSX慢(好几次)。列表中的第四项(CanGrow属性或如果使用UI编辑器-右键单击每个字段-->文本框属性-->取消选择“允许高度增加”)完成了整个任务,它使PDF和XLSX之间的性能保持一致。