Exporter des rapports Excel propres en .NET : Un tutoriel étape par étape

L'exportation de données vers Excel en .NET devrait être simple, mais la plupart des développeurs se heurtent à des obstacles : formatage défectueux, cas limites cachés et code difficile à maintenir. Nous allons y remédier. Ce guide montre comment exporter des fichiers Excel impeccables et fiables à l'aide des composants .NET de Xceed, avec un code que vous pouvez cloner et exécuter dès aujourd'hui.

Pourquoi les exportations Excel sont-elles compliquées ?

  • Les exportations par défaut ne tiennent pas compte de la mise en forme, ce qui rend les rapports difficiles à lire
  • Les grands ensembles de données sont saturés de mémoire ou manquent de lignes.
  • Cas particuliers : formules, cellules fusionnées, colonnes de date et d'heure et caractères spéciaux
  • Les corrections manuelles font perdre des heures et se cassent lors de la prochaine mise à jour

Conditions préalables

  • Projet .NET 6+
  • Xceed Workbooks for .NET (obtenir une version d'essai) ici)
  • Familiarité avec les principes de base du C#

Étape 1 : Mise en place du projet

Cloner le répertoire Nuget contenant des échantillons et des modèles fonctionnels :
Nuget : Xceed Workbooks pour .NET
Installez le package NuGet Xceed Workbooks :

dotnet add package Xceed.Workbooks.NET

Étape 2 : Définir la structure des données et des rapports

var employees = new List<Employee>
{
    new Employee { Name = "Jane Doe", Department = "Finance", Salary = 95000, HireDate = DateTime.Parse("2018-03-01") },
    // ... more rows
};

Étape 3 : Créer et formater le fichier Excel

using (var workbook = new Xceed.Workbooks.Workbook())
{
    var sheet = workbook.Worksheets.Add("Employee Report");
    sheet.Rows[0].Cells[0].Value = "Name";
    sheet.Rows[0].Cells[1].Value = "Department";
    sheet.Rows[0].Cells[2].Value = "Salary";
    sheet.Rows[0].Cells[3].Value = "Hire Date";

    // Apply bold header style
    sheet.Rows[0].Style.Font.Bold = true;

    for (int i = 0; i < employees.Count; i++)
    {
        var emp = employees[i];
        sheet.Rows[i + 1].Cells[0].Value = emp.Name;
        sheet.Rows[i + 1].Cells[1].Value = emp.Department;
        sheet.Rows[i + 1].Cells[2].Value = emp.Salary;
        sheet.Rows[i + 1].Cells[3].Value = emp.HireDate.ToShortDateString();
    }

    // Auto-fit columns
    sheet.Columns.AutoFit();

    workbook.SaveAs("EmployeeReport.xlsx");
}

Étape 4 : Traiter les cas marginaux d'exportation

  • Formules :
    sheet.Rows[10].Cells[2].Formula = "=SUM(C2:C10)";
  • Cellules fusionnées :
    sheet.MergedCells.Add("A1:D1");
  • Caractères spéciaux :
    Xceed gère l'Unicode - aucun travail supplémentaire n'est nécessaire.
  • Grandes données :
    Xceed regroupe les lignes pour éviter les pics de mémoire.

Étape 5 : Exporter et valider

  • Ouvrez le fichier exporté - les en-têtes sont en gras, les colonnes s'adaptent, les dates sont lisibles
  • Test avec des données marginales (champs manquants, caractères spéciaux, etc.)
  • Ajout d'une gestion des erreurs pour l'utilisation en production

Commencer maintenant

Cessez de vous battre avec des exportations désordonnées. Expédiez dès aujourd'hui des rapports Excel propres et fiables.