Générer des rapports à partir de données Excel en C#

Vous pouvez facilement créer des rapports personnalisés à partir de tableaux de données Microsoft Excel. Ces rapports peuvent être générés par programme en utilisant des feuilles de calcul Excel comme tableau de données. Cet article se concentrera sur comment générer des rapports à partir de données Excel à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C# pour la génération de rapports

J’utiliserai l’API GroupDocs.Assembly pour .NET pour générer des rapports à partir de données Excel. Il vous permet de créer de puissantes applications d’automatisation de documents et de génération de rapports. L’API prend en charge la récupération de données à partir de diverses sources de données telles que XML, JSON et CSV. Vous pouvez facilement générer des rapports dans tous les formats de fichiers couramment utilisés tels que PDF, HTML et Microsoft Word. Il peut être utilisé pour développer des applications dans n’importe quel environnement de développement qui cible la plate-forme .NET.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package GroupDocs.Assembly

Générer des rapports à partir de données Excel à l’aide de C#

Vous pouvez générer des rapports à partir de données Excel en suivant les étapes simples mentionnées ci-dessous:

  1. Obtenir la source de données Excel.
  2. Définir le modèle en fonction des données Excel.
  3. Fournir une source de données et un modèle au code C# simple pour la génération de rapports.

Données Excel

Les données tabulaires disponibles dans la feuille de calcul Excel peuvent être utilisées comme source de données pour générer des rapports. J’utiliserai les exemples de données Excel suivants pour la génération de rapports. Il s’agit des données contractuelles des clients avec leurs responsables respectifs et du prix contractuel convenu.

Source de données Excel

Source de données Excel

Modèle

Maintenant, définissez le modèle suivant dans le fichier DOCX. Cela permet d’itérer les données des contrats et leurs gestionnaires respectifs avec le prix du contrat. Après cela, vous pouvez sauter dans le code pour la génération de rapports.

Modèle de rapport

Modèle de rapport

Convertir Excel en rapport Word en C#

Veuillez suivre les étapes mentionnées ci-dessous pour automatiser la conversion des données Excel en rapport DOCX basé sur le modèle.

  • Définir les chemins d’accès au fichier de données Excel, au fichier de modèle et au fichier de rapport de sortie DOCX
  • Définir DocumentTableOptions
  • Créez DocumentTable avec un fichier de données Excel défini et DocumentTableOptions
  • Appelez la méthode AssembleDocument de la classe DocumentAssembler pour générer le rapport à partir des données Excel fournies et du modèle défini

L’exemple de code suivant montre comment générer un rapport à partir d’une source de données Excel selon le modèle défini à l’aide de C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Définir un tableau de données à partir d'un fichier Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Assemblez un document en utilisant la table de documents externe comme source de données.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

L’exemple de code ci-dessus générera le rapport suivant.

Rapport généré

Rapport généré

La classe DocumentTableOptions fournit un ensemble d’options pour contrôler l’extraction des données d’une table de documents. Ici, la propriété FirstRowContainsColumnNames est définie sur true.

La classe DocumentTable donne accès aux données d’une seule table (ou feuille de calcul) située dans un document externe à utiliser lors de l’assemblage d’un document.

La classe DocumentAssembler fournit des méthodes pour générer des rapports basés sur le modèle de document avec des données.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment générer des rapports à partir de données Excel à l’aide de C#. Vous pouvez en savoir plus sur l’API GroupDocs.Assembly pour .NET à l’aide de la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également