In an existing 2008R2 report, I have a concern about reports being exported to Excel. I have this concern since the result is related to the visibility of tablixes, columns, and rows based upon the export option chosen by the user.
When I am exporting the SSRS 2008R2 from my visual studio 2008R2 IDE in an Excel format, the value for Globals!RenderFormat.Name
= EXCEL. However when I export the SSRS 2008R2 report from the test report server in an Excel format, the value for Globals!RenderFormat.Name
= EXCELOPENXML.
Thus I have the following questions which includes the following:
Globals!RenderFormat.Name
would be either EXCEL, EXCELOPENXML, or something you tell me to expect? Is there some option(setting) in SSRS I can set and/or on the report server? If so, what would the option be?=Globals!RenderFormat.Name
in that textbox? What do you recommend?It seems like your test server is SSRS 2012 - that's the only way would get that rendering format. The EXCELOPENXML rendering extension was introduced in that version:
The Reporting Services Excel rendering extension, new in SQL Server 2012, renders a report as an Excel document that is compatible with Microsoft Excel 2007-2010 as well as Microsoft Excel 2003 with the Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint installed. The format is Office Open XML and the file extension is XLSX.
See What's New (Report Services 2012).
I would definitely confirm the test and production server SQL Server versions.
If you want to make sure the test and production servers are using the same export format as your IDE, you can re-enable the old legacy EXCEL formatter in the Reporting Services configuration file. In SSRS 2012 the relevant config file section will look something like:
<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>
You can set the Visible
element as required.
See RSReportServer Configuration File for more details.
But really, I don't think you should be changing the default Report Server settings - really your best bet is to upgrade your IDE to match the servers, i.e. develop using BIDS 2012.
Edit after comment
If you're just looking for a visibility expression that will work for both SSRS 2008R2 and SSRS 2012, something like:
=IIf(Globals!RenderFormat.Name Like "EXCEL*", True, False)
Should work for both versions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With