Visão geral das extensões de renderização

Uma extensão de renderização é um componente ou um módulo de um servidor de relatório que transforma dados de relatório e informações de layout para um formato específico do dispositivo. O SQL Server Reporting Services inclui várias extensões de renderização: HTML, Excel, Word, PowerPoint, CSV ou Texto, XML, Imagem, Feed de Dados e PDF. Você pode criar outras extensões de renderização para gerar relatórios em outros formatos.

Observação

Para determinar quais extensões de renderização estão disponíveis, exiba a lista das extensões instaladas no arquivo RSReportServer.config.

A tabela a seguir descreve as extensões de renderização incluídas no Reporting Services.

Nome da extensão Descrição
WORDOPENXML Renderizar um relatório no Microsoft Word como um arquivo DOCX. O formato é mostrado como Word na lista suspensa Exportar da barra de ferramentas do relatório.
WORD Renderizar um relatório no Microsoft Word como um arquivo DOC. O formato não é mostrado na lista suspensa Exportar da barra de ferramentas do relatório, pois está incluído para compatibilidade com versões anteriores.
EXCELOPENXML Renderiza um relatório no Microsoft Excel como um arquivo XLSX. O formato é mostrado como Excel na lista suspensa Exportar da barra de ferramentas do relatório.
EXCEL Renderiza um relatório no Microsoft Excel como um arquivo XLS. O formato não é mostrado na lista suspensa Exportar da barra de ferramentas do relatório, pois está incluído para compatibilidade com versões anteriores.
PPTX Renderiza um relatório no PowerPoint como um arquivo PPTX. O formato é mostrado como PowerPoint na lista suspensa Exportar da barra de ferramentas do relatório.
PDF Renderiza um relatório no PDF.
IMAGE Renderiza um relatório em um formato orientado para páginas. O formato é mostrado como arquivo TIFF na lista suspensa Exportar da barra de ferramentas do relatório.
MHTML (parte da extensão de renderização HTML) Renderiza um relatório em MHTML. O relatório é aberto no navegador. O formato é mostrado como MHTML (arquivo da Web) na lista suspensa Exportar da barra de ferramentas do relatório.
CSV Renderiza um relatório em um formato delimitado por vírgula. O relatório é aberto em uma ferramenta de visualização associada a formatos de arquivo CSV. O formato é mostrado como CSV (delimitado por vírgula) na lista suspensa Exportar da barra de ferramentas do relatório.
XML Renderiza um relatório em XML. O relatório é aberto em um navegador. Transformações extras aplicadas a essa saída XML podem ser uma maneira econômica de evitar o desenvolvimento de sua própria extensão de renderização. O formato é mostrado como arquivo XML com dados de relatório na lista suspensa Exportar da barra de ferramentas do relatório.
ATOM Renderiza um relatório no formato de feed de dados como um arquivo ATOMSVC. O formato é mostrado como Feed de dados na lista suspensa Exportar da barra de ferramentas do relatório.
HTML4.0 (parte da extensão de renderização HTML) O HTML4.0 será usado se o navegador não oferecer suporte a HTML5.
HTML5 (parte da extensão de renderização HTML) HTML5 é o formato usado para renderizar inicialmente o relatório no navegador. Se o seu navegador suporta HTML5, esse é o formato usado. Caso contrário, HTML 4.0 é usado.
RPL RPL é o formato intermediário usado pelo servidor de relatório e é a extensão de renderização padrão.
NULL Não renderiza um relatório em um formato específico. Essa extensão de renderização é útil para colocar relatórios em cache. A renderização nula deve ser usada com uma execução ou entrega agendada.

Para obter mais informações sobre os formatos recomendados e seus usos, consulte Exportar relatórios (Construtor de Relatórios e SSRS).

Cada uma das extensões de renderização implementadas pela Microsoft e enviadas com o Reporting Services usa um conjunto comum de interfaces. Esse conjunto comum de interfaces garante que cada extensão implemente funcionalidade comparável e reduza a complexidade do código de renderização no núcleo do servidor de relatório.

Modelo de objeto de renderização

Quando um relatório é processado, o resultado é um modelo de objeto publicamente exposto conhecido como ROM (Modelo de Objeto de Renderização). O Modelo de Objeto de Renderização é uma coleção de classes que definem os conteúdos, o layout e os dados de um relatório que foi processado. O ROM está disponível para desenvolvedores que queiram criar, desenvolver e implantar extensões de renderização personalizadas para o Reporting Services. O ROM é gerado quando o servidor de relatório processa a definição XML de um relatório junto com os dados de relatório definidos pelo usuário. Quando o processamento é concluído, o modelo de objeto público é usado por uma extensão de renderização para definir a saída do relatório. As classes públicas disponíveis do ROM são definidas no namespace Microsoft.ReportingServices.OnDemandReportRendering.

Escrever extensões de renderização personalizadas

Antes de decidir criar uma extensão de renderização personalizada, avalie alternativas mais simples. Você pode:

  • Personalizar a saída renderizada especificando configurações de informações de dispositivo para extensões existentes.

  • Adicione formatação personalizada e recursos de apresentação combinando XSLT (Transformações XSL) com a saída do formato de renderização XML.

Escrever uma extensão de renderização personalizada é difícil. Normalmente, uma extensão de renderização deve dar suporte a todas as combinações possíveis de elementos de relatório e exige que você implemente centenas de classes, de interfaces, de métodos e de propriedades. Se você precisar renderizar um relatório em um formato que não esteja incluído no Reporting Services e decidir escrever sua própria implementação de código gerenciado de uma extensão de renderização, o código da extensão de renderização deverá implementar a interface Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension , que é exigida pelo servidor de relatório.