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问题...
我熟悉基于变量或参数值的动态 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问题...