Ü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 ServerReporting Servicesenthä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.

HinweisHinweis

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.

Erweiterungsname

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-Datei 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

Rendert einen Bericht in Microsoft Word.

HTML 4.0 (Teil der 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.

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.ReportRendering-Namespace definiert.

Schreiben von benutzerdefinierten Renderingerweiterungen

Bevor Sie sich dazu entscheiden, eine benutzerdefinierte Renderingerweiterung zu erstellen, sollten Sie einfachere Alternativen prüfen. Folgende Aktionen sind möglich:

  • Passen Sie eine gerenderte Ausgabe an, indem Sie die Geräteinformationseinstellungen für vorhandene Erweiterungen angeben.

  • Fügen Sie benutzerdefinierte Formatierungs- und Präsentationsfeatures 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 Sie entscheiden sich, eine eigene Implementierung einer Renderingerweiterung mit verwaltetem Code zu schreiben, dann muss die Renderingerweiterung die Microsoft.ReportingServices.ReportRendering.IRenderingExtension-Schnittstelle implementieren, die vom Berichtsserver benötigt wird.

Ergänzende Dokumentation sowie Whitepapers zu Reporting Services finden Sie in den aktuellen technischen Ressourcen auf der Reporting Services-Website.