将SSRS报告导出为ex​​cel时禁用超链接

问题描述:

我正在使用ReportViewer控件呈现某些本地报告。这些报告有一些链接到supreports的元素。其中一些元素包含大量数据(作为参数传递给子报表)。问题是当我将报告导出为ex​​cel时,由于单元格最大字符数限制,它不会在Excel中打开。我想知道是否可以在导出到excel时禁用/删除此报告中的某些列。我试图使用DeviceInfo设置并尝试禁用公式,但这并没有多大帮助。将SSRS报告导出为ex​​cel时禁用超链接

千恩万谢

嗯,我使用的是它的winforms版本,并且有2种可能的解决方案,其中一种是编写自己的渲染器(对此是一种矫枉过正),另一种是调整报告定义

我将报告定义加载到XmlDocument中,并从中删除所有的Action节点,这将取出所有链接,然后在后台重新运行带有新定义的报告并呈现它脱颖而出。虽然它需要更多一点,但它完成了这项工作。

我问过类似的问题,前一阵子:Reporting Services 2008: Is there a way to change item properties, depending on how a report is being rendered?

(我想禁用某些项目时报告被渲染为Word文档)。

不幸的是没有真正简单的答案,但如果你愿意花一些时间在它上面,一些自定义代码应该可以做到。 (请参阅Gerrie Schenck对我的文章的回答)

虽然这种联系是很老了,我加入了这个答案,因为它可能帮助别人来这里(就像我来了几天就回来;)

下面是属性,告诉键入该报告的呈现方式。

全局!RenderFormat.Name

这个属性可以用来有条件地设置文本框上的动作,或设置列的知名度和我一样。

请考虑,这可能不是旧版本的SSRS

下面的工作是链接,我详细介绍了我是如何使用这个属性来禁用链接,导出报告SSRS时。

http://www.technicalsmile.blogspot.in/2012/10/disable-hyperlinksjavascript-when.html 感谢

+0

这是正确的答案。此外,您可以在子报表名称的表达式中使用它。 `= iif(全局变量!RenderFormat.Name =“EXCELOPENXML”,假,“我的子报告名称”) 指定一个假将使子报告无效。 – 2015-10-09 21:39:11