【问题标题】:Disable hyperlinks when exporting SSRS report to excel将 SSRS 报告导出到 Excel 时禁用超链接
【发布时间】:2009-02-24 16:22:02
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    虽然这个链接很旧,但我添加了这个答案,因为它可能会帮助其他人来到这里(就像我几天回来一样;)

    下面是告诉类型报告呈现的属性。

    Globals!RenderFormat.Name

    此属性可用于有条件地设置文本框上的操作,或者像我一样设置列的可见性。

    请注意这可能不适用于旧版本的 SSRS

    以下是我详细介绍了在将报告导出到 SSRS 时如何使用此属性禁用超链接的链接。

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

    【讨论】:

    • 这是正确答案。此外,您可以在子报告名称的表达式中使用它。 =iif(Globals!RenderFormat.Name = "EXCELOPENXML", false, "my subreport name") 指定 false 会使子报告无效。
    • 如果尝试将此答案用于 Excel。对 SQL Server 2016 及更高版本使用 Globals!RenderFormat.Name = "EXCELOPENXML",在 2016 之前使用 "EXCEL"。
    【解决方案2】:

    前段时间我问了一个类似的问题:Reporting Services 2008: Is there a way to change item properties, depending on how a report is being rendered?

    (当报表呈现为 Word 文档时,我想禁用某些项目)。

    不幸的是,没有真正简单的答案,但如果您愿意花一些时间在上面,一些自定义代码应该可以解决问题。 (请参阅 Gerrie Schenck 对我的帖子的回答)

    【讨论】:

      【解决方案3】:

      好吧,我使用的是它的 winforms 版本,有两种可能的解决方案,一种是编写自己的渲染器(这有点过头了),另一种是调整报告定义

      我在 XmlDocument 中加载了报表定义并从中删除了所有 Action 节点,这将删除所有链接,然后在后台使用新定义重新运行报表并将其呈现到 Excel 中。尽管需要更多时间,但它确实可以完成工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多