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 EPPlusExemple : 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 ClosedXMLExemple : 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 =