首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sharepoint集成SSRS报表excel导出失败

Sharepoint集成SSRS报表excel导出失败
EN

Stack Overflow用户
提问于 2016-10-04 10:58:09
回答 1查看 1.2K关注 0票数 1

当试图导出报表到excel时,网站加载了一段时间,我得到了“此页面无法显示。请确保网站地址是正确的”错误。

以下是一些平台细节:

  • 使用SP2的Server 2012
  • Sharepoint 2013
  • 共享点集成模式下的SS报告服务
  • Windows 2012 R2

报表本身有4-5个参数,调用一些视图和一个过程,并显示最多30列的120 K行。在SSMS中,无需过滤的整个报表可以在大约7秒内执行。SP网站可以很好的显示rdl的结果,报告显示的足够精细和快速。我还可以将结果导出到csv,xml,所有120 K行。但当涉及到出口到excel时,它就会陷入困境。

这就是它变得有趣的地方。

当使用一些参数或数据过滤调用时,报表就会很好地显示出来,并且可以毫不延迟地导出到excel。我已经测试了越来越多的行和excel导出工作,罚款高达50K行。导出的xlsx文件约为9MB。但是当我增加日期范围时,excel导出就会超时。

现在说说我试过的事。

导出到其他格式很好。只有EXCELOPENXML不起作用。

rsreportserver.config中增加ProcessTimeout、ProcessTimeoutGcExtension的值甚至添加DatabaseQueryTimeout键都没有帮助。

增加executionTimeout和maxRequestLength键在web.config中的值也没有影响。

配置更改后,我重新启动Reporting服务。

我怀疑SQL 2012中存在10 is的excel导出错误,但是应该使用SP2来解决这个问题,它将应用于这个系统中。

另外,在显示错误消息的几分钟前,网站要求重新登录sharepoint网站。这发生在几分钟后,点击excel导出。在进行任何IIS配置更改之前,我希望确保sql侧的所有内容都是正确的。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-07 09:03:19

经过几天的反复试验,我发现了这个问题的原因。

问题是在一个操作属性为"Go to URL“的列中,url由字符串连接表达式设置,从报表字段获取4个参数。显然,SSRS在导出到excel时,再次处理所有几百K的数据。csv和xml格式能够处理相同的报告,但excel抛出超时的原因对我来说仍然是个谜。我所能推测的是excel渲染器需要更多的处理时间来格式化单元格。

解决此问题的另一种方法可能是启用报表快照,因此报表数据将从缓存中使用,但我不确定excel导出是否仍会重新处理报表。

我通过添加具有相同数据的另一列解决了这个问题,但是将下面的表达式添加到列可见性属性中:

=(Globals!RenderFormat.Name="EXCELOPENXML")

因此,现在已成功地处理了带有参数的字符串操作,以在web视图中形成URL格式,但未在excel呈现程序中处理。

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39850526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档