Création de fichiers Excel en C# sans installer Microsoft Office

Création de fichiers Excel en C# sans installer Microsoft Office
Création de fichiers Excel en C# sans installer Microsoft Office

Générez des fichiers Excel en C# de manière transparente

La création de fichiers Excel (.XLS et .XLSX) en C# peut être une exigence cruciale pour de nombreuses applications. Cependant, compter sur l’installation de Microsoft Office sur le serveur ou sur l’ordinateur client peut s’avérer peu pratique et fastidieux.

Heureusement, il existe des bibliothèques et des outils robustes qui permettent aux développeurs de générer des feuilles de calcul Excel par programmation en C# sans avoir besoin de Microsoft Office. Cet article explore les différentes méthodes et bibliothèques pour y parvenir efficacement.

Commande Description
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Définit le contexte de licence pour EPPlus sur une utilisation non commerciale.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Crée une nouvelle feuille de calcul nommée « Sheet1 » dans le package Excel à l'aide d'EPPlus.
worksheet.Cells[1, 1].Value = "Hello"; Définit la valeur de la cellule de la ligne 1, colonne 1 sur "Bonjour" à l'aide d'EPPlus.
IWorkbook workbook = new XSSFWorkbook(); Initialise une nouvelle instance de classeur pour créer des fichiers .XLSX à l'aide de NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Crée une nouvelle feuille nommée « Sheet1 » dans le classeur à l’aide de NPOI.
IRow row = sheet.CreateRow(0); Crée une nouvelle ligne à l'index 0 dans la feuille à l'aide de NPOI.
row.CreateCell(0).SetCellValue("Hello"); Définit la valeur de la cellule à la ligne 0, colonne 0 sur "Bonjour" à l'aide de NPOI.

Comprendre la création de fichiers Excel en C#

Les scripts fournis ci-dessus montrent comment créer des fichiers Excel (.XLS et .XLSX) en C# sans installer Microsoft Office en utilisant deux bibliothèques populaires : EPPlus et NPOI. Le premier script exploite la bibliothèque EPPlus. Cela commence par définir le contexte de licence pour EPPlus sur une utilisation non commerciale avec la commande ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Cela garantit le respect des conditions de licence EPPlus. Ensuite, il crée une nouvelle instance de package Excel en utilisant using (var package = new ExcelPackage()), et ajoute une nouvelle feuille de calcul nommée "Sheet1" à l'aide de var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Les données sont ajoutées aux cellules en définissant directement leurs valeurs, par exemple : worksheet.Cells[1, 1].Value = "Hello"; attribue la valeur "Bonjour" à la première cellule de la première ligne. Le fichier est ensuite enregistré sur le disque avec package.SaveAs(new FileInfo("example.xlsx"));, complétant le processus de création du fichier Excel.

Le deuxième script utilise la bibliothèque NPOI pour créer un fichier Excel. Cela commence par initialiser une nouvelle instance de classeur pour créer des fichiers .XLSX avec IWorkbook workbook = new XSSFWorkbook();. Une nouvelle feuille nommée « Feuille1 » est créée dans le classeur à l'aide de ISheet sheet = workbook.CreateSheet("Sheet1");. Les lignes et les cellules sont créées et remplies de données en appelant IRow row = sheet.CreateRow(0); et row.CreateCell(0).SetCellValue("Hello");, respectivement. Le classeur créé est ensuite écrit dans un flux de fichiers et enregistré sur le disque à l'aide d'un FileStream enveloppé dans un dix déclaration pour une bonne gestion des ressources. Enfin, Console.WriteLine("Excel file created successfully!"); envoie un message de réussite à la console. Ces scripts montrent à quel point ces bibliothèques sont puissantes et polyvalentes pour générer des fichiers Excel en C# sans avoir besoin d'installer Microsoft Office.

Génération de fichiers Excel à l'aide d'EPPlus en C#

Ce script montre la création d'un fichier Excel à l'aide de la bibliothèque EPPlus en C#.

using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells[1, 1].Value = "Hello";
                worksheet.Cells[1, 2].Value = "World";
                var file = new FileInfo("example.xlsx");
                package.SaveAs(file);
                Console.WriteLine("Excel file created successfully!");
            }
        }
    }
}

Création de fichiers Excel avec NPOI en C#

Ce script montre comment utiliser la bibliothèque NPOI pour créer un fichier Excel en C#.

using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            IRow row = sheet.CreateRow(0);
            row.CreateCell(0).SetCellValue("Hello");
            row.CreateCell(1).SetCellValue("World");
            using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
            {
                workbook.Write(file);
            }
            Console.WriteLine("Excel file created successfully!");
        }
    }
}

Création de fichiers Excel avec ClosedXML en C#

ClosedXML est une autre excellente bibliothèque pour créer des fichiers Excel en C# sans nécessiter Microsoft Office. ClosedXML est une bibliothèque .NET permettant de lire, manipuler et écrire des fichiers Excel 2007+ (.XLSX). Il est intuitif et facile à utiliser, ce qui en fait un favori parmi les développeurs. ClosedXML vous permet de créer des fichiers Excel avec des fonctionnalités riches, telles que le formatage des cellules, l'ajout de formules et la création de tableaux. Pour commencer à utiliser ClosedXML, vous devez l'installer via NuGet. Après la configuration, vous pouvez créer un nouveau classeur Excel avec seulement quelques lignes de code. Par exemple, vous lancez un nouveau classeur et ajoutez une feuille de calcul nommée « Feuille1 » à l'aide de l'option var workbook = new XLWorkbook(); et var worksheet = workbook.Worksheets.Add("Sheet1"); commandes.

Les données peuvent être ajoutées aux cellules avec des commandes telles que worksheet.Cell(1, 1).Value = "Hello";, et vous pouvez formater des cellules, ajouter des bordures et définir des styles de police avec des commandes simples et lisibles. Une fois vos données définies, vous enregistrez le classeur dans un fichier en utilisant workbook.SaveAs("example.xlsx");. ClosedXML prend en charge un large éventail de fonctionnalités, notamment les tableaux croisés dynamiques, la mise en forme conditionnelle et les graphiques, ce qui en fait un outil puissant pour créer des documents Excel complexes par programmation. Cette flexibilité garantit que les développeurs peuvent générer des fichiers Excel adaptés à leurs besoins spécifiques sans dépendre de l'installation de Microsoft Office, simplifiant ainsi le déploiement et la distribution des applications.

Foire aux questions sur la création de fichiers Excel en C#

  1. Comment installer EPPlus dans mon projet ?
  2. Vous pouvez installer EPPlus à l'aide du gestionnaire de packages NuGet avec la commande Install-Package EPPlus.
  3. Quelle est la différence entre EPPlus et NPOI ?
  4. EPPlus est connu pour sa facilité d'utilisation et sa prise en charge des fichiers .XLSX uniquement, tandis que NPOI prend en charge les formats .XLS et .XLSX mais a une courbe d'apprentissage plus abrupte.
  5. ClosedXML peut-il gérer efficacement de gros fichiers Excel ?
  6. Oui, ClosedXML peut gérer des fichiers Excel volumineux, mais les performances peuvent varier en fonction de la complexité des données et des opérations effectuées.
  7. Est-il possible de créer des graphiques dans des fichiers Excel en utilisant ClosedXML ?
  8. Oui, ClosedXML prend en charge la création de différents types de graphiques dans des fichiers Excel.
  9. Comment formater des cellules à l’aide de ClosedXML ?
  10. Vous pouvez formater les cellules à l'aide de commandes telles que worksheet.Cell(1, 1).Style.Font.Bold = true; pour définir la police en gras.
  11. Puis-je ajouter des formules aux cellules avec EPPlus ?
  12. Oui, vous pouvez ajouter des formules aux cellules dans EPPlus à l'aide de commandes telles que worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Quels formats de fichiers NPOI prend-il en charge ?
  14. NPOI prend en charge les formats de fichiers .XLS et .XLSX.
  15. Comment enregistrer un fichier Excel avec EPPlus ?
  16. Vous pouvez enregistrer un fichier Excel à l'aide de la commande package.SaveAs(new FileInfo("example.xlsx"));.
  17. L’utilisation de ClosedXML est-elle gratuite ?
  18. Oui, ClosedXML est gratuit et est sous licence MIT.

Réflexions finales sur la création de fichiers Excel en C#

Créer des fichiers Excel en C# sans nécessiter l'installation de Microsoft Office est une approche très pratique pour les développeurs. En utilisant des bibliothèques telles que EPPlus, NPOI et ClosedXML, vous pouvez facilement générer des feuilles de calcul Excel, offrant une large gamme de fonctionnalités et d'options de personnalisation. Ces solutions simplifient non seulement le processus de développement, mais garantissent également que vos applications sont plus portables et plus faciles à déployer dans différents environnements.