SSRS 2008 r2 Globals!RenderFormat.Name = EXCELOPENXML

use*_*979 5 excel export-to-excel reporting-services ssrs-2008 ssrs-2008-r2

在现有的2008R2报告中,我担心将报告导出到Excel.我有这个问题,因为结果与Tablix,列和行的可见性有关,基于用户选择的导出选项.

当我以Excel格式从我的visual studio 2008R2 IDE导出SSRS 2008R2时,值为Globals!RenderFormat.Name= EXCEL.但是,当我以Excel格式从测试报告服务器导出SSRS 2008R2报告时,值为Globals!RenderFormat.Name= EXCELOPENXML.

因此,我有以下问题,其中包括以下内容:

  1. 你能告诉我为什么我的visual studio IDE和测试报告服务器之间的值不同吗?如果是这样,有什么我可以做的任何environmnet使价值相同?如果是这样,我该怎么做才能使价值相同?
  2. 我担心将RDL部署到生产报告服务器.我怎么知道来自Globals!RenderFormat.NameEXCEL,EXCELOPENXML或你告诉我期望的东西?我可以在报表服务器上设置和/或在SSRS中有一些选项(设置)吗?如果是这样,该选项会是什么?
  3. 如果没有办法告诉生产报告服务器会发生什么,我应该将报告部署到生产中并查看我得到的内容吗?我是否只需在报表服务器上放置一个"临时"文本框并将表达式=Globals!RenderFormat.Name放在该文本框中?您有什么推荐的吗?

Ian*_*ton 7

看起来您的测试服务器是SSRS 2012 - 这是获得该呈现格式的唯一方法.该版本引入了EXCELOPENXML呈现扩展:

Reporting Services Excel呈现扩展插件是SQL Server 2012中的新增功能,它将报表呈现为与Microsoft Excel 2007-2010以及安装了Word,Excel和PowerPoint的Microsoft Office兼容包的Microsoft Excel 2003兼容的Excel文档.格式为Office Open XML,文件扩展名为XLSX.

请参阅新功能(Report Services 2012).

我肯定会确认测试和生产服务器SQL Server版本.

如果要确保测试和生产服务器使用与IDE相同的导出格式,可以在Reporting Services配置文件中重新启用旧的旧版EXCEL格式化程序.在SSRS 2012中,相关的配置文件部分将类似于:

<Render>
    ...
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" Visible="false"/>
    <Extension Name="EXCELOPENXML" Type="Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.ExcelOpenXmlRenderer,Microsoft.ReportingServices.ExcelRendering"/>
    ...
</Render>
Run Code Online (Sandbox Code Playgroud)

您可以Visible根据需要设置元素.

有关更多详细信息,请参阅RSReportServer配置文件.

但实际上,我认为您不应该更改默认的Report Server设置 - 实际上您最好的选择是升级IDE以匹配服务器,即使用BIDS 2012进行开发.

评论后编辑

如果您只是在寻找适用于SSRS 2008R2和SSRS 2012的可见性表达式,例如:

=IIf(Globals!RenderFormat.Name Like "EXCEL*", True, False)
Run Code Online (Sandbox Code Playgroud)

应该适用于这两个版本.