【问题标题】:SSRS Possible to toggle Header visibility based on export type? 2008-R2SSRS 可以根据导出类型切换标题可见性吗? 2008-R2
【发布时间】:2016-10-28 15:23:53
【问题描述】:

我熟悉基于变量或参数值动态显示/隐藏其他报表对象(文本框/tablix/列等...) - 但是有没有办法用标题来做到这一点?我在标题对象上没有看到任何“可见性”选项卡来设置表达式。

此外,有没有办法根据导出样式隐藏标题。例如,我想在导出为 PDF 时显示标题,但在导出为 XLS 时想隐藏它(以防止单元格合并)。

我已经看到了将“标题”替换为可以切换的“矩形”的示例。我也看过文章提到 =Globals!RenderFormat.IsInteractive = “EXCEL”),但不知道在哪里设置?在服务器配置文件上?有没有办法只为那个特定的 rdl 报告文件完成它?

提前致谢!

【问题讨论】:

    标签: reporting-services ssrs-2008-r2 ssrs-tablix


    【解决方案1】:

    回答您的问题:

    有没有办法动态显示/隐藏页眉 - 没有。很遗憾,您无法在 RDL 报告中设置整个页眉/页脚的可见性。

    有没有办法根据导出样式隐藏标题 - 不完全。 正如我所说,您不能为整个标题设置可见性,但您可以为单独的报告项目设置可见性基于导出样式的标题。

    在哪里设置 - 它在报告中设置,在通常的隐藏表达式中。 实现这一点与服务器配置文件无关(唯一的一点是看一下 rsreportserver. config - 它包含带有渲染扩展的部分,知道它们的名称很有用,例如名称“EXCEL”用于旧的二进制 XLS 格式,而“EXCELOPENXML”用于现代 XLSX)。

    要根据导出样式设置可见性,您可以使用内置报告字段 RenderFormat.Name(注意它是 Name,而不是 IsInteractive!)。只需为 Hidden 属性键入以下表达式:

    =Globals!RenderFormat.Name = "PDF"
    

    总之,你不能设置整个标题的可见性,你可以根据你想要的不同条件在标题中显示/隐藏报表项,但标题仍然会占据一些位置。要真正隐藏表头以免占用报表空间,可以模拟带有矩形和分页符的表头,这就是解决方法。

    【讨论】:

    • 感谢您的反馈。我最终暂时用一个矩形替换了标题。至于您关于“只需为隐藏属性键入以下表达式:=Globals!RenderFormat.Name = etc..”的帖子——我到底应该把它放在哪里?您是否引用 Visibility: Show or Hide based on an expression 下的位置?再次感谢
    • 实际上我明白了,我把那个表达式放在 tablix Visibility 选项卡下的“基于表达式显示或隐藏”表达式下,它就像一个魅力。谢谢!
    【解决方案2】:

    我面前的报告要求具有相似的性质。

    需要:导出为 CSV 文件时隐藏标题。

    报告将导出为 CSV,然后上传到另一个系统(不需要标题的系统)。为了更加用户友好,我希望报告显示标题但不将它们导出到 CSV 文件中。

    我尝试了一些不起作用的方法。然后我发现一篇文章描述了如何创建新的导出格式Labeled: "CSV No Headers",它解决了导出要求。


    解决方案:rsreportserver.config

    文件:D:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config

    XML:

        <Extension Name="CSV (No Header)" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
        <OverrideNames>
           <Name Language="en-us"> CSV No Header</Name>
        </OverrideNames>
        <Configuration>
           <DeviceInfo>
              <NoHeader>true</NoHeader>
           </DeviceInfo>
        </Configuration>
    

    解决方案演示

    新选项:

    EXPORTED> 报告名称(CSV 无标题).csv:

    EXPORTED> 报告名称 (Excel).xlsx:

    来源:Charanmandya Blogspot: Export Csv Without Header in SSRS


    没用的东西……

    我阅读了这篇文章,Blog, Beer Intelligence by Valentino Vranken: "Hide/Show Items Dependant On Export Format (SSRS)"。这篇文章对许多用户 cmets 和建议很有帮助。但是我尝试了这些东西,但它们不适用于没有标题行的 CSV 导出。

    • 行可见性 > 表达式 > =Globals!RenderFormat.Name = "CSV"

    这适用于“Excel”或“EXCELOPENXML”格式。由于某种原因,“CSV”不起作用。

    • 选择行> 属性:仅数据> [数据元素输出=无输出]

    一些相关的stackoverflow问题...

    【讨论】:

      猜你喜欢
      • 2013-05-25
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多