UTILISATION D'IRONXL

Comment écrire des données dans un fichier CSV en C#

Regan Pun
Regan Pun
juin 20, 2023
Mise à jour mars 31, 2024
Partager:

Cet article explique comment écrire un fichier CSV à l'aide d'IronXL.

Bibliothèque IronXL

IronXL est une bibliothèque Excel .NET qui offre une fonctionnalité complète pour créer, lire et éditer des fichiers tableur dans les applications C#. Il excelle en termes de performances et de précision des résultats. Il prend en charge différents formats de fichiers de classeur de feuilles de calcul tels que XLS, XLSX, XLSM, CSV et TSV. De plus, il vous permet de sauvegarder ou exporter des données à partir de fichiers Excel vers des formats comme CSV, JSON, HTML, Binaire, Tableau de bytes, DataSet ou DataTable.

Avec IronXL, les développeurs peuvent travailler en toute transparence avec les feuilles de calcul et les plages de cellules, offrant ainsi une approche élégante de la manipulation des données. Il permet la modification facile des formules et facilite le recalcul des formules au sein d'une feuille. Le tri des données basé sur la plage, la colonne ou la ligne est simple. Vous pouvez également modifier les mises en page en figeant les volets, en ajustant automatiquement la taille des lignes/colonnes, et en ajoutant/supprimant des lignes/colonnes.

IronXL offre la possibilité de protéger les fichiers Excel par des mots de passe utilisateur et de définir des autorisations pour l'édition. De plus, il offre des fonctionnalités pour ajouter, supprimer et extraire des images des feuilles de calcul Excel. La bibliothèque comprend un large éventail de fonctions Excel, prenant en charge différents formats de données cellulaires. Cela fait d'IronXL l'une des API les plus intuitives pour travailler avec des fichiers Excel.

Un avantage notable d'IronXL est qu'il ne nécessite pas l'installation de Microsoft Excel ou de dépendances Office Interop sur la machine. Il s'agit d'une solution autonome qui fonctionne sur plusieurs plateformes et qui est compatible avec les versions .NET 7, 6 et 5. Elle prend également en charge .NET Core 2 et 3, ainsi que la version standard 2. Pour travailler avec des feuilles de calcul Excel, IronXL est compatible avec le Framework .NET 4.5 et les versions ultérieures.

Créer une application console

La dernière version de Visual Studio est recommandée pour commencer à créer une application. Visual Studio est l'IDE officiel pour le développement C#, et vous devez l'avoir installé. Vous pouvez le télécharger depuis le site Web de Microsoft Visual Studio, si ce n'est pas installé.

Les étapes suivantes permettront de créer un nouveau projet appelé "DemoApp".

  1. Ouvrez Visual Studio et cliquez sur "Créer un nouveau projet".

    Comment écrire des données dans un fichier CSV en C#, Figure 1 : Ouvrir Visual Studio

    Ouvrir Visual Studio

  2. Sélectionnez l'application console et cliquez sur "Suivant".

    Comment écrire des données dans un fichier CSV en C#, Figure 2 : Créer un nouveau projet dans Visual Studio

    Créez un nouveau projet dans Visual Studio

  3. Définir le nom du projet

    Comment écrire des données dans un fichier CSV en C#, Figure 3 : Configurez votre nouveau projet

    Configurez votre nouveau projet

  4. Sélectionnez la version .NET. Choisissez la version stable .NET 6.0.

    Comment écrire des données dans un fichier CSV en C#, Figure 4 : Sélection du .NET Framework

    Sélection du .NET Framework

Installer la bibliothèque IronXL

Une fois le projet créé, la bibliothèque IronXL doit être installée dans le projet pour être utilisée. Suivez les étapes suivantes pour l'installer.

  1. Ouvrez le gestionnaire de paquets NuGet à partir de l'explorateur de solutions ou des outils.

    Comment écrire des données dans un fichier CSV en C#, Figure 5 : Accéder au Gestionnaire de packages NuGet

    Accédez à NuGet Package Manager

  2. Recherchez la bibliothèque IronXL et sélectionnez le projet en cours. Cliquez sur installer.

    Comment écrire des données dans un fichier CSV en C#, Figure 6 : Rechercher et installer le paquet IronXL dans l'interface utilisateur du gestionnaire de paquets NuGet

    Rechercher et installer le package IronXL dans l'interface utilisateur du gestionnaire de packages NuGet

    Ajoutez l'espace de noms suivant en haut du fichier Program.cs

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Créer un nouveau classeur dans C# ;

IronXL permet de créer un classeur vide. Un classeur est une feuille de calcul qui contient plusieurs feuilles de calcul. Les données sont stockées dans des cellules. CSV ressemble également à une feuille de calcul, mais avec une extension de fichier CSV.

// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
' Creates a new Instance of WorkBook SpreadSheet
Dim workBook As New WorkBook()
$vbLabelText   $csharpLabel

Maintenant, créons une feuille dans le WorkBook. Il existe plusieurs façons de créer une feuille de calcul dans le classeur.

// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds sheet1 to the workbook
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Creates a worksheet with name Sheet1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

Si vous souhaitez ajouter d'autres feuilles à votre classeur existant, utilisez la méthode CreateWorkSheet.

Note : Vous pouvez utiliser la méthode WorkBook.LoadCSV si le fichier CSV existe déjà. Vous pouvez voir cette page d'exemple de code pour charger un fichier CSV existant.

Écrire des données sur le WorkSheet

L'écriture de fichiers CSV est facile avec IronXL. Il fournit des fonctionnalités Excel pour écrire des données dans des CSV. Les références aux cellules peuvent être utilisées pour ajouter les valeurs aux endroits spécifiés. Ici, je vais ajouter quelques enregistrements de certains employés en utilisant une boucle foreach.

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee
$vbLabelText   $csharpLabel

Dans l'exemple de code ci-dessus, un tableau de employeenames est créé et la première ligne est configurée avec des en-têtes : ID, Name, Salary. Une variable i est également initialisée avec une valeur de 2, ce qui entrera les enregistrements à partir de la 2ème ligne en dessous des en-têtes. La boucle foreach prend un employé de la liste et est ajoutée à la ligne avec les valeurs d'ID et de salaire. Avant la fin de la boucle, la valeur de i doit être incrémentée, sinon chaque enregistrement sera ajouté à la même rangée.

Enregistrer les données dans un fichier CSV

La dernière étape consiste à enregistrer le fichier CSV. IronXL fournit la méthode SaveAsCsv pour enregistrer le classeur en tant que fichier CSV. Le premier paramètre de cette méthode est le nom du fichier CSV et le second est le séparateur.

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

Elle se présente comme suit :

using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
Imports System
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee

workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

Sortie

Comment écrire des données dans un fichier CSV en C#, Figure 7 : Le fichier CSV de sortie

Le fichier CSV de sortie

Résumé

Cet article présente une approche simple de l'écriture d'un fichier CSV à l'aide d'IronXL en C#. IronXL permet également de travailler avec des fichiers CSV existants sans aucun problème. Il vous permet également d'écrire des fichiers CSV, de créer de nouveaux fichiers Excel et d'y écrire des données à l'aide d'une syntaxe simple. IronXL peut également être utilisé pour lire et écrire des fichiers Excel sans que Microsoft Office soit installé. Pour la conversion entre différents formats de feuilles de calcul, vous pouvez consulter cette page d'exemples de code.

IronXL est gratuit pour le développement et peut faire l'objet d'une licence pour un usage commercial. Vous pouvez également essayer la version d'essai gratuite de IronXL pour une utilisation commerciale.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
Comment afficher Excel en ASP.NET
SUIVANT >
Comment définir la couleur d'arrière-plan d'une cellule Excel à l'aide de C#