SSRS导出到Excel隐藏/取消隐藏问题

时间:2011-07-11 19:27:47

标签: ssrs-2008

我有一份SSRS 2008报告,其中我必须隐藏一些列&导出到excel并在导出到excel之后,要求表示应该在excel中取消隐藏列。请建议一种方法,因为我听说这根本不可能。

提前致谢!!

5 个答案:

答案 0 :(得分:9)

可以这样做,但我相信只有部署到SSRS 2008 R2 Server时才会这样做。这就是我现在使用它的方式。您这样做的方法是在设置为以下列的列上使用条件“隐藏”属性: 编辑:切换真假,以便它不隐藏在Excel

=IIF(Globals!RenderFormat.Name = "EXCEL",false,true)

除非在Excel中输出,否则这将有效地隐藏列。

如果您使用VS2008,则可以通过选择界面底部附近的组浏览器右上角的高级模式来访问列。列将从上到下列出表示列的从左到右的表示。使用其中一个选项设置“隐藏”属性。

答案 1 :(得分:2)

有可能! :)

您只需要选择要在Excel中隐藏的列,转到属性面板(可以按F4),在底部,在内部可见性中,将此表达式写入隐藏选项:

=IIF(Globals!RenderFormat.Name = "EXCELOPENXML",true,false)

即使Visual Studio以红色突出显示'name'属性,它也能正常工作!

您可以在Excel中隐藏所需的所有内容,但必须先在RPL中进行渲染。实际上,当你隐藏它时,它看起来就像一个白色的列。

答案 2 :(得分:1)

如果使用Excel 2012,请尝试使用

=IIF(Globals!RenderFormat.Name = "EXCELOPENXML",true,false)

答案 3 :(得分:1)

以下公式适用于此方案 - 我希望报表查看器中有分页符,但在导出时我需要单个Excel工作表中的所有行数据。

=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)

答案 4 :(得分:0)

不,不能。

SSRS中不可见的列(或任何数据区域)不会呈现。它无法在Excel中显示,因为它不存在。

从用户角度来看,如果我导出,我希望得到我在屏幕上看到的内容。

您可以拥有URLAccess based report

  • 指回同一份报告
  • 有一个隐藏的parameter RenderAllForExcel(..&RenderAllForExcel=true
  • 呈现direct to Excel...&rs:Format=Excel&rs:Command=Render