Twitter Image

Adding a new renderer in Reporting Services

Written by Stéphane Dorrekens
Wednesday, 15 February 2012 13:56

I got the query today to remove formulas in a Excel export of a current sql reporting service report.
I first wanted to add a link in the report itself with the '&rc:OmitFormulas=true' suffix, but I found out there's a lot better way by adding a new renderer in the report server list as described in this MSDN article.

Just go to \program files\Microsoft SQL server\<SSRS instance>\Reporting Services\ReportServer and open the rsreportserver.config file with a text editor.
Go to the <Render> Section, you should have a subsection called <Extension Name="Excel" ...
Copy that line with a new name so you have something like :

<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"/>
<Extension Name="EXCEL (No Formula)"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"/>

then add the specific option(s) you want in the renderer, (here's the link to the excel renderer options), which gives

<Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"/>
 <Extension Name="EXCEL (No Formula)" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering">
<Configuration>
 <DeviceInfo><OmitFormulas>True</OmitFormulas>
</DeviceInfo>
</Configuration>
</Extension>

Stop start the SQL Server Reporting Services to reload the .config file.
Now, this did work but the names were both "Excel"; after rereading the MSDN article, you have to force a culture specific name; so the final file was (three culture as we are in Belgium) :

<Extension Name="EXCEL (No Formulas)" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering">
    <OverrideNames>
        <Name Language="en-US">Excel (No Formulas)</Name>
        <Name Language="fr-BE">Excel (Sans Formules)</Name>
        <Name Language="nl-BE">Excel (Geen Formulas)</Name>
    </OverrideNames>
    <Configuration>
        <DeviceInfo>
            <OmitFormulas>True</OmitFormulas>
        </DeviceInfo>
    </Configuration>
</Extension>

Quite easy to do really and a very nice option to have at disposal, at least on premise.