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.

Check out Xceed’s Words and PDF Library bundle