Travailler avec Excel en C# (.NET) : aperçu des bibliothèques populaires
Dans le développement moderne sur la plateforme .NET, il est souvent nécessaire d'interagir par programmation avec les fichiers Microsoft Excel. Cela peut inclure la création de rapports, l'importation de données, l'exportation de tableaux ou l'automatisation de la gestion documentaire. Dans cet article, nous examinerons les trois bibliothèques les plus populaires pour travailler avec Excel en C# : EPPlus, ClosedXML et NPOI. Chacune d'elles possède ses propres caractéristiques, avantages et limitations.
1. EPPlus — un outil puissant pour travailler avec XLSX
EPPlus est l'une des bibliothèques les plus populaires pour travailler avec le format Office Open XML (XLSX). Elle fournit une API étendue pour créer, lire et formater des documents Excel. Depuis la version 5, EPPlus est distribué sous licence Polyform Noncommercial (gratuit uniquement pour un usage non commercial), mais pour les projets commerciaux, l'achat d'une licence est requis.
Fonctionnalités principales :
- Prise en charge complète du formatage des cellules (polices, couleurs, bordures, alignement)
- Travail avec des graphiques, des tableaux croisés dynamiques et le formatage conditionnel
- Prise en charge des formules et des calculs
- Travail avec des images et des commentaires
- Haute performance lors du traitement de fichiers volumineux
Exemple de création d'un fichier Excel avec EPPlus :
using OfficeOpenXml;
class Program{ static void Main() { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // Pour un usage commercial, une licence est requise using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Rapport"); // Remplir les en-têtes worksheet.Cells["A1"].Value = "Nom"; worksheet.Cells["B1"].Value = "Âge"; worksheet.Cells["C1"].Value = "Ville"; // Remplir les données worksheet.Cells["A2"].Value = "Anna"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "Moscou"; // 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); // Enregistrer le fichier package.SaveAs(new FileInfo("report.xlsx")); } }}2. ClosedXML — une API simple et intuitive
ClosedXML est une bibliothèque open source (licence MIT) qui offre une interface pratique et concise pour travailler avec les fichiers XLSX. Elle est construite sur DocumentFormat.OpenXml, mais masque la complexité de l'API de bas niveau. ClosedXML est idéal pour la création rapide de rapports et de tableaux simples.
Avantages de ClosedXML :
- Syntaxe simple et lisible
- Entièrement gratuit pour un usage commercial
- Bon support des styles et du formatage
- Prise en charge intégrée des dates et des formules
Exemple de lecture de données depuis Excel avec ClosedXML :
using ClosedXML.Excel;
class Program{ static void Main() { using (var workbook = new XLWorkbook("data.xlsx")) { var worksheet = workbook.Worksheet(1); // Lire les données ligne par ligne foreach (var row in worksheet.RowsUsed()) { var name = row.Cell(1).GetValue<string>(); var age = row.Cell(2).GetValue<int>(); var city = row.Cell(3).GetValue<string>(); Console.WriteLine($"{name}, {ag Aussi dans la bibliothèque
Planificateur de tâches en C++ : TaskFlow, CronCpp, Boost.Asio
TypeStack/class-validator TypeScript : guide complet avec exemples
Axios pour JavaScript (Node.js) : guide complet avec exemples
Jetons JWT en Go (Golang) : création et vérification avec exemples
Files d'attente de tâches pour JavaScript (Node.js) : Bull, Bee-Queue, Kue