Vue d’ensemble des extensions de rendu

Une extension de rendu est un composant ou un module d'un serveur de rapports qui transforme les données de rapport et les informations de disposition dans un format spécifique au périphérique. SQL Server Reporting Services inclut plusieurs extensions de rendu : HTML, Excel, Word, PowerPoint, CSV ou Text, XML, Image, Flux de données et PDF. Vous pouvez créer d’autres extensions de rendu pour générer des rapports dans d’autres formats.

Remarque

Pour déterminer quelles extensions de rendu sont disponibles, vous pouvez consulter la liste des extensions installées dans le fichier RSReportServer.config.

Le tableau suivant décrit les extensions de rendu incluses avec Reporting Services.

Nom de l’extension Description
WORDOPENXML Affichez un rapport dans Microsoft Word en tant que fichier DOCX. Le format est affiché sous la forme Word dans la liste déroulante Exporter de la barre d’outils du rapport.
WORD Afficher un rapport dans Microsoft Word en tant que fichier DOC. Le format n’est pas affiché dans la liste déroulante Exporter de la barre d’outils du rapport, car il est inclus pour la compatibilité descendante.
EXCELOPENXML Affiche un rapport dans Microsoft Excel sous forme de fichier XLSX. Le format est affiché sous forme d’Excel dans la liste déroulante Exporter de la barre d’outils du rapport.
EXCEL Affiche un rapport dans Microsoft Excel en tant que fichier XLS. Le format n’est pas affiché dans la liste déroulante Exporter de la barre d’outils du rapport, car il est inclus pour la compatibilité descendante.
PPTX Affiche un rapport dans PowerPoint en tant que fichier PPTX. Le format est affiché sous forme de PowerPoint dans la liste déroulante Exporter de la barre d’outils du rapport.
PDF Affiche un rapport au format PDF.
IMAGE Effectue le rendu d'un rapport au format page. Le format est affiché en tant que fichier TIFF dans la liste déroulante Exporter de la barre d’outils du rapport.
MHTML (partie de l’extension de rendu HTML) Effectue le rendu d'un rapport au format MHTML. Le rapport s’ouvre dans le navigateur. Le format est affiché sous la forme MHTML (archive web) dans la liste déroulante Exporter de la barre d’outils du rapport.
CSV Effectue le rendu d'un rapport dans lequel les données sont délimitées par des virgules. Le rapport s'ouvre dans un outil d'affichage associé aux formats de fichiers CSV. Le format est affiché sous forme de csv (délimité par des virgules) dans la liste déroulante Exporter de la barre d’outils du rapport.
XML Effectue le rendu d'un rapport au format XML. Le rapport peut être ouvert dans un navigateur. Les transformations supplémentaires appliquées à cette sortie XML peuvent être un moyen économique d’éviter de développer votre propre extension de rendu. Le format est affiché sous forme de fichier XML avec des données de rapport dans la liste déroulante Exporter de la barre d’outils du rapport.
ATOM Affiche un rapport au format de flux de données sous forme de fichier ATOMSVC. Le format est affiché sous forme de flux de données dans la liste déroulante Exporter de la barre d’outils du rapport.
HTML4.0 (partie de l’extension de rendu HTML) HTML4.0 est utilisé si le navigateur ne prend pas en charge HTML5.
HTML5 (partie de l’extension de rendu HTML) HTML5 est le format utilisé pour afficher initialement le rapport dans le navigateur. Si votre navigateur prend en charge HTML5, il s’agit du format utilisé. Sinon, HTML 4.0 est utilisé.
RPL RPL est le format intermédiaire utilisé par le serveur de rapports et est l’extension de rendu par défaut.
NULL Ne restitue pas un rapport dans un format spécifique. Cette extension de rendu est utile pour placer des rapports dans le cache. Le rendu Null doit être utilisé avec une exécution ou une remise planifiée.

Pour plus d’informations sur les formats recommandés et leurs utilisations, consultez Exporter des rapports (Générateur de rapports et SSRS).

Chacune des extensions de rendu implémentée par Microsoft et fournie avec Reporting Services fait appel à un ensemble commun d'interfaces. Cet ensemble commun d’interfaces garantit que chaque extension implémente des fonctionnalités comparables et réduit la complexité du code de rendu dans le cœur du serveur de rapports.

Modèle objet de rendu

Lorsqu'un rapport est traité, le résultat est un modèle objet publiquement exposé connu sous le nom de mdèle objet de rendu (ROM, Rendering Object Model). Le modèle objet de rendu est une collection de classes qui définissent le contenu, la disposition et les données d'un rapport ayant été traité. Le modèle est disponible pour les développeurs qui souhaitent concevoir, développer et déployer des extensions de rendu personnalisées pour Reporting Services. Le modèle est produit lorsque le serveur de rapports traite la définition XML d'un rapport avec les données de rapport définies par l'utilisateur. Au terme du traitement, le modèle objet public est utilisé par une extension de rendu pour définir la sortie du rapport. Les classes publiques disponibles du modèle sont définies dans l’espace de noms Microsoft.ReportingServices.OnDemandReportRendering.

Écrire des extensions de rendu personnalisées

Avant de décider de créer une extension de rendu personnalisée, vous devez réfléchir à des alternatives plus simples. Vous pouvez :

  • Personnaliser la sortie rendue en spécifiant des paramètres d'informations de périphérique pour les extensions existantes.

  • Ajouter des fonctionnalités de présentation et de mise en forme personnalisées en associant des Transformations XSL (XSLT) à la sortie du format de rendu XML.

L'écriture d'une extension de rendu personnalisée est difficile. Une extension de rendu doit généralement prendre en charge toutes les combinaisons possibles d'éléments de rapport et nécessite d'implémenter des centaines de classes, interfaces, méthodes et propriétés. Si vous devez afficher un rapport dans un format qui n’est pas inclus dans Reporting Services et décider d’écrire votre propre implémentation de code managé d’une extension de rendu, le code d’extension de rendu doit implémenter l’interface Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension , qui est requise par le serveur de rapports.