Travailler avec Excel en C# (.NET) : bibliothèques EPPlus, ClosedXML et NPOI

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec Excel en C# (.NET) : meilleures bibliothèques et exemples



Travailler avec des feuilles de calcul Excel est l'une des tâches les plus courantes dans le développement d'entreprise en C#. Que ce soit pour générer des rapports, importer des données ou automatiser des opérations routinières, vous aurez besoin d'un outil fiable. Dans cet article, nous allons examiner trois bibliothèques populaires pour travailler avec Excel dans l'écosystème .NET : EPPlus, ClosedXML et NPOI. Vous découvrirez leurs caractéristiques, leurs points forts et verrez des exemples de code.



1. EPPlus — un outil puissant et moderne



EPPlus est l'une des bibliothèques les plus populaires pour travailler avec des fichiers Excel (.xlsx) en .NET. Elle prend en charge pratiquement toutes les fonctionnalités d'Excel : formatage, graphiques, tableaux croisés dynamiques, mise en forme conditionnelle et bien plus encore. Depuis la version 5, EPPlus est distribué sous licence Polyform Noncommercial (gratuit pour une utilisation non commerciale), une licence payante est requise pour une utilisation commerciale.



Installation

Install-Package EPPlus


Exemple : création d'un fichier Excel simple

using OfficeOpenXml;

class Program{ static void Main() { // Définir le contexte de licence (pour une utilisation non commerciale) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Rapport"); // En-têtes worksheet.Cells["A1"].Value = "Nom"; worksheet.Cells["B1"].Value = "Âge"; worksheet.Cells["C1"].Value = "Ville"; // Données worksheet.Cells["A2"].Value = "Anna"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "Moscou"; worksheet.Cells["A3"].Value = "Ivan"; worksheet.Cells["B3"].Value = 35; worksheet.Cells["C3"].Value = "Saint-Pétersbourg"; // Formatage worksheet.Cells["A1:C1"].Style.Font.Bold = true; worksheet.Cells["A1:C1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; worksheet.Cells["A1:C1"].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightBlue); // Ajustement automatique des colonnes worksheet.Cells.AutoFitColumns();

// Sauvegarder var file = new FileInfo("Rapport.xlsx"); package.SaveAs(file); } }}


Avantages d'EPPlus :

  • Prise en charge d'objets complexes : graphiques, tableaux croisés dynamiques, sparklines
  • Haute performance avec les fichiers volumineux
  • Excellente documentation et communauté active

Inconvénients : licence commerciale payante, pas de prise en charge du format .xls (ancien format).



2. ClosedXML — simplicité et commodité



ClosedXML est une bibliothèque gratuite et open source qui offre une API pratique pour travailler avec Excel. Elle est construite sur OpenXML SDK, mais masque toute la complexité en proposant une interface intuitive. Idéale pour créer rapidement des rapports et des tableaux.



Installation

Install-Package ClosedXML


Exemple : création d'un fichier avec formatage

using ClosedXML.Excel;

class Program{ static void Main() { using (var workbook = new XLWorkbook()) { var ws = workbook.Worksheets.Add("Ventes"); // En-têtes ws.Cell("A1").Value = "Produit"; ws.Cell("B1").Value = "Quantité"; ws.Cell("C1").Value = "Prix"; // Données ws.Cell("A2").Value = "Ordinateur portable"; ws.Cell("B2").Value = 5; ws.Cell("C2").Value =

Recommendations