ClosedXML C# (.NET) : guide complet avec exemples

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

Introduction à ClosedXML : qu'est-ce que c'est et pourquoi l'utiliser

ClosedXML est une bibliothèque open-source puissante pour le langage C# (.NET), conçue pour créer, lire et modifier des fichiers Microsoft Excel (formats .xlsx, .xlsm, .xltx). Elle offre une interface orientée objet pratique pour travailler avec des feuilles de calcul sans avoir besoin d'installer Microsoft Office ou d'utiliser des objets COM.

Cette bibliothèque est particulièrement utile pour :

  • Automatisation des rapports — génération de rapports Excel complexes à partir de données issues de bases de données, d'API ou d'autres sources
  • Import/Export de données — traitement en masse de données tabulaires entre différents systèmes
  • Création de modèles — remplissage de modèles Excel préexistants avec des données
  • Calculs financiers et analytiques — travail avec des formules, des tableaux croisés dynamiques et des graphiques
  • Migration depuis VBA — transfert de macros vers du C# moderne

ClosedXML prend en charge toutes les fonctionnalités essentielles d'Excel : mise en forme des cellules, fusion de cellules, mise en forme conditionnelle, graphiques, tableaux croisés dynamiques, validation des données, protection des feuilles et bien plus encore. La bibliothèque fonctionne entièrement en mémoire et ne nécessite pas qu'Excel soit installé sur le serveur.

Installation de ClosedXML

L'installation de ClosedXML s'effectue via le gestionnaire de packages NuGet. Voici les différentes méthodes d'installation :

Avec .NET CLI

dotnet add package ClosedXML

Avec la console du gestionnaire de packages (Visual Studio)

Install-Package ClosedXML

Avec l'interface utilisateur du gestionnaire de packages NuGet

  1. Ouvrez votre projet dans Visual Studio
  2. Faites un clic droit sur le projet → "Manage NuGet Packages"
  3. Recherchez "ClosedXML" et cliquez sur "Install"

Vérification de l'installation

Après l'installation, ajoutez la directive using dans votre code :

using ClosedXML.Excel;

Démarrage rapide : créez votre premier fichier Excel

Créons un tableau simple avec des données d'employés et enregistrons-le dans un fichier :

using ClosedXML.Excel;

class Program
{
    static void Main(string[] args)
    {
        // Créer un nouveau classeur
        using (var workbook = new XLWorkbook())
        {
            // Ajouter une feuille de calcul
            var worksheet = workbook.Worksheets.Add("Employés");

            // Remplir les en-têtes
            worksheet.Cell("A1").Value = "ID";
            worksheet.Cell("B1").Value = "Nom";
            worksheet.Cell("C1").Value = "Poste";
            worksheet.Cell("D1").Value = "Salaire";

            // Remplir les données
            worksheet.Cell("A2").Value = 1;
            worksheet.Cell("B2").Value = "Jean Dupont";
            worksheet.Cell("C2").Value = "Développeur";
            worksheet.Cell("D2").Value = 150000;

            worksheet.Cell("A3").Value = 2;
            worksheet.Cell("B3").Value = "Marie Martin";
            worksheet.Cell("C3").Value = "Analyste";
            worksheet.Cell("D3").Value = 120000;

            // Mettre en forme les en-têtes
            var headerRange = worksheet.Range("A1:D1");
            headerRange.Style.Font.Bold = true;
            headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;

            // Ajuster automatiquement la largeur des colonnes
            worksheet.Columns().AdjustToContents();

            // Enregistrer le fichier
            workbook.SaveAs("employes.xlsx");
        }

        Console.WriteLine("Fichier créé avec succès !");
    }
}

Cet exemple crée un fichier employes.xlsx avec trois lignes de données et des en-têtes formatés.

Méthodes et fonctions principales de ClosedXML

1. Création d'un classeur et de feuilles

Méthode : new XLWorkbook() et workbook.Worksheets.Add()

Description : Crée un nouveau classeur et y ajoute des feuilles de calcul.

Paramètres :

Recommendations