Panoramica delle estensioni per il rendering

Un'estensione per il rendering è un componente o un modulo di un server di report che consente di trasformare le informazioni sul layout e i dati del report in un formato specifico del dispositivo. SQL Server Reporting Services include diverse estensioni per il rendering: HTML, Excel, Word, PowerPoint, CSV o Text, XML, Image, Data Feed e PDF. È possibile creare altre estensioni per il rendering per generare report in altri formati.

Nota

Per determinare quali sono le estensioni per il rendering disponibili, è possibile visualizzare l'elenco delle estensioni installate nel file RSReportServer.config.

Nella tabella seguente sono descritte le estensioni per il rendering incluse in Reporting Services.

Nome estensione Descrizione
WORDOPENXML Eseguire il rendering di un report in Microsoft Word come file DOCX. Il formato viene visualizzato come Word nell'elenco a discesa Esporta della barra degli strumenti del report.
WORD Eseguire il rendering di un report in Microsoft Word come file DOC. Il formato non viene visualizzato nell'elenco a discesa Esporta della barra degli strumenti del report perché è incluso per la compatibilità con le versioni precedenti.
EXCELOPENXML Esegue il rendering di un report in Microsoft Excel come file XLSX. Il formato viene visualizzato come Excel nell'elenco a discesa Esporta della barra degli strumenti del report.
EXCEL Esegue il rendering di un report in Microsoft Excel come file XLS. Il formato non viene visualizzato nell'elenco a discesa Esporta della barra degli strumenti del report perché è incluso per la compatibilità con le versioni precedenti.
PPTX Esegue il rendering di un report in PowerPoint come file PPTX. Il formato viene visualizzato come PowerPoint nell'elenco a discesa Esporta della barra degli strumenti del report.
PDF Esegue il rendering di un report nel PDF.
IMAGE Consente di eseguire il rendering di un report in un formato orientato alla pagina. Il formato viene visualizzato come file TIFF nell'elenco a discesa Esporta della barra degli strumenti del report.
MHTML (parte dell'estensione per il rendering HTML) Consente di eseguire il rendering di un report in formato MHTML. Il report viene aperto nel browser. Il formato viene visualizzato come MHTML (archivio Web) nell'elenco a discesa Esporta della barra degli strumenti del report.
CSV Consente di eseguire il rendering di un report in formato con valori delimitati da virgole. Il report viene aperto in uno strumento di visualizzazione associato ai formati di file CSV. Il formato viene visualizzato come CSV (delimitato da virgole) nell'elenco a discesa Esporta della barra degli strumenti del report.
XML Consente di eseguire il rendering di un report in formato XML. Il report viene aperto in un browser. Le trasformazioni aggiuntive applicate a questo output XML potrebbero essere un modo conveniente per evitare di sviluppare un'estensione di rendering personalizzata. Il formato viene visualizzato come file XML con i dati del report nell'elenco a discesa Esporta della barra degli strumenti del report.
ATOM Esegue il rendering di un report in formato feed di dati come file ATOMSVC. Il formato viene visualizzato come feed di dati nell'elenco a discesa Esporta della barra degli strumenti del report.
HTML4.0 (parte dell'estensione per il rendering HTML) HTML4.0 viene usato se il browser non supporta HTML5.
HTML5 (parte dell'estensione per il rendering HTML) HTML5 è il formato utilizzato per eseguire inizialmente il rendering del report nel browser. Se il browser supporta HTML5, questo è il formato usato. In caso contrario, viene usato HTML 4.0.
RPL RPL è il formato intermedio usato dal server di report ed è l'estensione di rendering predefinita.
NULL Non esegue il rendering di un report in un formato specifico. Questa estensione per il rendering è utile per l'inserimento dei report nella cache. Il rendering Null deve essere usato con un'esecuzione o un recapito pianificati.

Per altre informazioni sui formati consigliati e sui relativi usi, vedere Esportare report (Generatore report e SSRS).

Ognuna delle estensioni per il rendering implementate da Microsoft e fornite con Reporting Services usa un set comune di interfacce. Questo set comune di interfacce garantisce che ogni estensione implementi funzionalità confrontabili e riduce la complessità del codice di rendering nel nucleo del server di report.

Modello a oggetti per il rendering

Quando un report viene elaborato, il risultato è un modello a oggetti esposto pubblicamente noto come Modello a oggetti per il rendering (ROM, Rendering Object Model). Il modello a oggetti per il rendering è una raccolta di classi che definiscono il contenuto, il layout e i dati di un report che è stato elaborato. Questo modello è disponibile per gli sviluppatori che desiderano progettare, sviluppare e distribuire estensioni per il rendering personalizzate per Reporting Services. Il modello a oggetti per il rendering viene creato quando il server di report elabora la definizione XML di un report insieme ai dati del report definiti dall'utente. Al termine dell'elaborazione, il modello a oggetti pubblico viene utilizzato da un'estensione per il rendering per definire l'output del report. Le classi pubbliche disponibili del modello a oggetti per il rendering sono definite nello spazio dei nomi Microsoft.ReportingServices.OnDemandReportRendering.

Scrivere estensioni per il rendering personalizzate

Prima di decidere di creare un'estensione per il rendering personalizzata, è consigliabile valutare alternative più semplici. È possibile:

  • Personalizzare l'output sottoposto a rendering specificando le impostazioni relative alle informazioni sui dispositivi per le estensioni esistenti.

  • Aggiungere funzionalità di presentazione e formattazione personalizzate combinando XSLT (XSL Transformations, trasformazioni XSL) con l'output del formato di rendering XML.

La scrittura di un'estensione per il rendering personalizzata è complessa. Un'estensione per il rendering deve in genere supportare tutte le combinazioni possibili di elementi del report e richiede l'implementazione di centinaia di classi, interfacce, metodi e proprietà. Se è necessario eseguire il rendering di un report in un formato non incluso in Reporting Services e decidere di scrivere la propria implementazione del codice gestito di un'estensione per il rendering, il codice dell'estensione per il rendering deve implementare l'interfaccia Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension , richiesta dal server di report.