Implementing a custom Rendering Extension in SSRS in SharePoint integrated mode without coding

A rendering extension is a component or module of a report server that transforms report data and layout information into a device-specific format. SQL Server Reporting Services includes six rendering extensions: HTML, Excel, Word, CSV or Text, XML, Image, and PDF.
We can create additional rendering extensions to generate reports in other formats.

We can modify the rendering format of a Reporting Services report by making changes to the RSReportServer.config file located at :

In native mode the files are located at:
C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER

In SharePoint integrated mode the files are located at:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\Reporting

More details can be found here

<Extension Name=”TXTspaceDelimited” Type=”Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering”>
<OverrideNames>
<Name Language=”en-US”>TXT (Space Delimited Text File)</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<FieldDelimiter xml:space=”preserve”>?</FieldDelimiter>
<NoHeader>true</NoHeader>
<FileExtension>txt</FileExtension>
<ExcelMode>False</ExcelMode>
<Encoding>ASCII</Encoding>
</DeviceInfo>
</Configuration>
</Extension>

If we want to add or modify the rendering format in a Reporting Services report in native mode, the RSReportServer.config file is still the way to go as described above.

But for Reporting Services in SharePoint-integrated mode, this can be done by using the PowerShell cmdlets for Reporting Services SharePoint Mode, specifically, the New-SPRSExtension cmdlet. The powershell details:

New-SPRSExtension -identity <GUID ID value of the Reporting Services service application> -ExtensionType “Render” -name “TXTspaceDelimited” -TypeName “Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering” -ServerDirectives “<OverrideNames><Name Language=’en-US’>TXT (Space Delimited Text File)</Name></OverrideNames>” -ExtensionConfiguration “<DeviceInfo><FieldDelimiter xml:space=’preserve’>?</FieldDelimiter><NoHeader>true</NoHeader><FileExtension>txt</FileExtension><ExcelMode>False</ExcelMode><Encoding>ASCII</Encoding></DeviceInfo>”

We have to change the double quotes to single quotes in XML tags because the parameter values used in the PowerShell cmdlet are surrounded by double quotes.
This eliminates parsing errors when running the command.

TheGUID value comes from the ID value of the Reporting Services service application when you run the Get-SPRSServiceApplication PowerShell cmdlet as follows:

Get-SPRSServiceApplication

We need to restart IIS on the application server running the Reporting Services service application for the changes to take effect.
To verify, reload the Reporting Services report and check the list of Export options.
The rendering format we’ve added should now be listed as an option.

Reference 1

Reference 2

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s