Ü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 enthält sieben Renderingerweiterungen: HTML, Excel, Word, CSV oder Text, XML, Image und PDF. Sie können zusätzliche 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 |
---|---|
XML |
Rendert einen Bericht im XML-Format. Der Bericht wird in einem Browser geöffnet. Weitere Umwandlungen, die auf dieses XML-Format angewandt werden, können eine kosteneffiziente Methode darstellen, die Entwicklung einer eigenen Renderingerweiterung zu vermeiden. |
CSV |
Rendert einen Bericht in einem durch Trennzeichen getrennten Format. Der Bericht wird in einem Anzeigetool für Dateien im CSV-Format geöffnet. |
IMAGE |
Rendert einen Bericht in einem seitenbasierten Format. Das Format wird als TIFF im Export-Dropdownfeld der Berichtssymbolleiste angezeigt. |
PDF |
Rendert einen Bericht in Adobe Acrobat Reader. Das Format wird als PDF-Datei (Acrobat) im Export-Dropdownfeld der Berichtssymbolleiste angezeigt. |
EXCEL |
Rendert einen Bericht in Microsoft Excel. |
WORD |
Rendern einen Bericht in Microsoft Word. |
HTML 4.0 (Teil der HTML-Renderingerweiterung) |
HTML ist das Format, in dem der Bericht ursprünglich gerendert wird. Wenn Ihr Browser HTML 4.0 unterstützt, wird dieses Format verwendet. Andernfalls wird HTML 3.2 verwendet. |
MHTML (Teil der HTML-Renderingerweiterung) |
Rendert einen Bericht im MHTML-Format. Der Bericht wird in Internet Explorer geöffnet. Das Format wird als Webarchiv im Export-Dropdownfeld der Berichtssymbolleiste angezeigt. |
NULL |
Rendert einen Bericht in keinem bestimmten Format. Diese Renderingerweiterung ist dann sinnvoll, wenn Berichte im Cache eingefügt werden sollen. NULL-Rendering sollte in Verbindung mit einer geplanten Ausführung oder Übermittlung verwendet werden. |
Weitere Informationen zu den empfohlenen Formaten und deren Verwendung finden Sie unter Exportieren von Berichten (Report Builder und SSRS).
Jede Renderingerweiterung, die von Microsoft implementiert und mit Reporting Services geliefert wird, verwendet eine Reihe gemeinsamer Schnittstellen. Damit wird sichergestellt, dass jeder 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 werden 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 sich entscheiden, ihre eigene verwaltete Codeimplementierung einer Renderingerweiterung zu schreiben, muss der Code der Renderingerweiterung die Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension
Schnittstelle implementieren, die vom Berichtsserver benötigt wird.
Ergänzende Dokumentationen und Whitepaper zu Reporting Services finden Sie in den neuesten technischen Ressourcen auf der Reporting Services-Website.
Weitere Informationen
Implementing a Rendering Extension (Implementieren von Renderingerweiterungen)
Reporting Services Extension Library (Reporting Services-Erweiterungsbibliothek)