SSRS 是否可以根据导出类型切换 Header 可见性? 2008-R2

SSRS Possible to toggle Header visibility based on export type? 2008-R2

我熟悉基于变量或参数值的动态 showing/hiding 其他报告 objects(textboxes/tablix/columns 等...) - 但有没有办法做到这与 header?我在 header object 上没有看到任何 "visibility" 选项卡来设置表达式。

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

我见过 "header" 被 "rectangle" 替换的示例,可以切换。我也看过文章提到 =Globals!RenderFormat.IsInteractive = “EXCEL”),但我不知道那是在哪里设置的?在服务器配置文件上?有没有办法只针对那个特定的 rdl 报告文件完成它?

提前致谢!

回答您的问题:

有没有办法动态地 show/hide header - 没有。 不幸的是,您无法设置整个 header/footer 的可见性RDL 报告。

有没有办法根据导出样式隐藏 header - 不完全是。 正如我所说,你不能设置整个 [=38] 的可见性=],但您可以根据导出样式在 header 中设置单独报告项的可见性。

在哪里设置 - 它是在报告中设置的,在通常的隐藏表达式中。与服务器配置文件无关来实现这个(唯一的一点是采取看看 rsreportserver.config - 它包含带有呈现扩展的部分,了解它们的名称很有用,f.e。名称 "EXCEL" 用于旧的二进制 XLS 格式,而 "EXCELOPENXML" 用于现代 XLSX)。

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

=Globals!RenderFormat.Name = "PDF"

总而言之,您无法设置整个 header 的可见性,您可以根据需要的不同条件 show/hide 报告 header 中的项目,但是 header还是会占据一席之地。要真正隐藏 header 使其不会消耗报告的 space,您可以使用矩形和分页符模拟 header,这是解决方法。

我之前的报告要求具有类似的性质。

NEED: Hide the headers when exported to CSV file.

报告将被导出为 CSV,然后上传到另一个系统(不需要 headers 的系统)。为了更 user-friendly,我希望报告显示 header,但不将它们导出到 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 编号 Header).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)"。这篇文章对很多用户的评论和建议很有帮助。但我尝试了这些方法,但它们不适用于没有 header 行的 CSV 导出。

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

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

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

一些相关的Whosebug问题...