Übersicht über Renderingerweiterungen
Eine Renderingerweiterung stellt eine Komponente oder ein Modul eines Berichtsservers dar, mit dem Daten- und Layoutinformationen in ein gerätespezifisches Format umgewandelt werden. SQL Server Reporting Services umfasst mehrere Renderingerweiterungen: HTML, Excel, Word, PowerPoint, CSV oder Text, XML, Bild, Datenfeed und PDF. Sie können andere Renderingerweiterungen erstellen, um Berichte in anderen Formaten zu generieren.
Hinweis
Welche Renderingerweiterungen zur Verfügung stehen, sehen Sie auf der Liste der installierten Erweiterungen in der Datei RSReportServer.config.
In der folgenden Tabelle werden die Renderingerweiterungen beschrieben, die in Reporting Services enthalten sind.
Name der Erweiterung | Beschreibung |
---|---|
WORDOPENXML | Rendern eines Berichts in Microsoft Word als DOCX-Datei. Das Format wird als Word in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
WORD | Rendern eines Berichts in Microsoft Word als DOC-Datei. Das Format wird nicht in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt, da es aus Gründen der Abwärtskompatibilität enthalten ist. |
EXCELOPENXML | Rendert einen Bericht in Microsoft Excel als XLSX-Datei. Das Format wird als Excel in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
EXCEL | Rendert einen Bericht in Microsoft Excel als XLS-Datei. Das Format wird nicht in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt, da es aus Gründen der Abwärtskompatibilität enthalten ist. |
PPTX | Rendert einen Bericht in PowerPoint als PPTX-Datei. Das Format wird als PowerPoint in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
Rendert einen Bericht in der PDF-Datei. | |
IMAGE | Rendert einen Bericht in einem seitenbasierten Format. Das Format wird als TIFF-Datei in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
MHTML (Teil der HTML-Renderingerweiterung) | Rendert einen Bericht im MHTML-Format. Der Bericht wird im Browser geöffnet. Das Format wird als MHTML (Webarchiv) in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
CSV | Rendert einen Bericht in einem durch Trennzeichen getrennten Format. Der Bericht wird in einem Anzeigetool für Dateien im CSV-Format geöffnet. Das Format wird als CSV (durch Trennzeichen getrennt) in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
XML | Rendert einen Bericht im XML-Format. Der Bericht wird in einem Browser geöffnet. Zusätzliche Transformationen, die auf diese XML-Ausgabe angewendet werden, können eine kostengünstige Möglichkeit sein, die Entwicklung Ihrer eigenen Renderingerweiterung zu vermeiden. Das Format wird als XML-Datei mit Berichtsdaten in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
ATOM | Rendert einen Bericht im Datenfeedformat als ATOMSVC-Datei. Das Format wird als Datenfeed in der Dropdownliste "Exportieren" der Berichtssymbolleiste angezeigt. |
HTML4.0 (Teil der HTML-Renderingerweiterung) | HTML4.0 wird verwendet, wenn der Browser HTML5 nicht unterstützt. |
HTML5 (Teil der HTML-Renderingerweiterung) | HTML5 ist das Format, das zum anfänglichen Rendern des Berichts im Browser verwendet wird. Wenn Ihr Browser HTML5 unterstützt, handelt es sich dabei um das verwendete Format. Andernfalls wird HTML 4.0 verwendet. |
RPL | RPL ist das Zwischenformat, das vom Berichtsserver verwendet wird und die Standardrenderingerweiterung ist. |
NULL | Rendert einen Bericht nicht in einem bestimmten Format. Diese Renderingerweiterung ist dann sinnvoll, wenn Berichte im Cache eingefügt werden sollen. Null-Rendering sollte mit einer geplanten Ausführung oder Übermittlung verwendet werden. |
Weitere Informationen zu den empfohlenen Formaten und deren Verwendung finden Sie unter Exportberichte (Berichts-Generator und SSRS).
Jede Renderingerweiterung, die von Microsoft implementiert und mit Reporting Services geliefert wird, verwendet eine Reihe gemeinsamer Schnittstellen. Diese gemeinsame Gruppe von Schnittstellen stellt sicher, dass jede Erweiterung vergleichbare Funktionen implementiert und die Komplexität des Renderingcodes im Kern des Berichtsservers reduziert.
Renderingobjektmodell
Wenn ein Bericht verarbeitet wird, ist das Ergebnis ein öffentliches verfügbares Objektmodell, das als Renderingobjektmodell (ROM) bezeichnet wird. Das Renderingobjektmodell ist eine Auflistung von Klassen, die Inhalte, Layout und Daten eines verarbeiteten Berichts definieren. Das ROM steht Entwicklern zur Verfügung, die benutzerdefinierte Renderingerweiterungen für Reporting Services entwerfen, entwickeln und bereitstellen möchten. Ein ROM wird erstellt, wenn der Berichtsserver die XML-Definition eines Berichts zusammen mit den benutzerdefinierten Berichtsdaten verarbeitet. Wenn die Verarbeitung abgeschlossen ist, wird das öffentliche Modell von einer Renderingerweiterung zur Definition der Berichtsausgabe verwendet. Die verfügbaren öffentlichen Klassen des ROMs sind im Microsoft.ReportingServices.OnDemandReportRendering-Namespace definiert.
Schreiben von benutzerdefinierten Renderingerweiterungen
Bevor Sie sich dazu entscheiden, eine benutzerdefinierte Renderingerweiterung zu erstellen, sollten Sie einfachere Alternativen prüfen. Ihre Möglichkeiten:
Passen Sie eine gerenderte Ausgabe an, indem Sie die Geräteinformationseinstellungen für vorhandene Erweiterungen angeben.
Fügen Sie benutzerdefinierte Formatierungs- und Präsentationsfunktionen hinzu, indem Sie XSL-Transformationen (XSLT) mit der Ausgabe des XML-Renderingformats kombinieren.
Das Schreiben von benutzerdefinierten Renderingerweiterungen ist nicht ganz einfach. Eine Renderingerweiterung muss normalerweise alle möglichen Kombinationen von Berichtselementen unterstützen und erfordert, dass Sie Hunderte von Klassen, Schnittstellen, Methoden und Eigenschaften implementieren. Wenn Sie einen Bericht in einem Format rendern müssen, das nicht in Reporting Services enthalten ist, und entscheiden, Ihre eigene Implementierung von verwaltetem Code einer Renderingerweiterung zu schreiben, muss der Renderingerweiterungscode die Schnittstelle "Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension " implementieren, die vom Berichtsserver benötigt wird.