Passer au contenu du pied de page
UTILISATION D'IRONXL

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

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

Bibliothèque IronXL

IronXL est une bibliothèque Excel .NET qui offre des fonctionnalités complètes pour la création, la lecture et la modification de fichiers tableur dans les applications C#. Il excelle en termes de performance et de précision des résultats. Il prend en charge divers formats de fichiers de classeurs Excel, tels que XLS, XLSX, XLSM, CSV et TSV. De plus, il permet d' enregistrer ou d'exporter des données depuis des fichiers Excel vers des formats comme CSV, JSON, HTML, binaire, tableau d'octets, DataSet ou DataTable.

Avec IronXL, les développeurs peuvent travailler en toute transparence avec les feuilles de calcul et les plages de cellules, ce qui offre une approche élégante de la manipulation des données. Il permet de modifier facilement les formules et facilite leur recalcul au sein d'une feuille de calcul. Le tri des données en fonction de la plage, de la colonne ou de la ligne est simple. Vous pouvez également modifier la mise en page en figeant les volets , en dimensionnant automatiquement les 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 de modification. De plus, il offre des fonctionnalités permettant d' ajouter, de supprimer et d'extraire des images à partir de 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.

L'un des principaux avantages d'IronXL est qu'il ne nécessite pas l'installation de Microsoft Excel ni d'Office Interop. Solution autonome, il fonctionne sur plusieurs plateformes et est compatible avec .NET versions 7, 6 et 5. Il 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 .NET Framework 4.5 et versions ultérieures.

Créer une application console

Pour commencer la création d'une application, il est recommandé d'utiliser la dernière version de Visual Studio. Visual Studio est l'environnement de développement intégré (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 , s'il n'est pas déjà installé.

Les étapes suivantes créeront un nouveau projet nommé "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

  1. Sélectionnez 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

  1. Définir le nom du projet

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

  1. 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 framework .NET 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 pouvoir l'utiliser. Suivez ces étapes pour l'installer.

  1. Ouvrez le Gestionnaire de packages NuGet depuis l'Explorateur de solutions ou les outils.

Comment écrire des données dans un fichier CSV en C# ? Figure 5 : Accéder au gestionnaire de packages NuGet Naviguez vers le Gestionnaire de Paquets NuGet

  1. Recherchez la bibliothèque IronXL et sélectionnez le projet actuel. Cliquez sur installer.

Comment écrire des données dans un fichier CSV en C# ? Figure 6 : Rechercher et installer le package IronXL dans l'interface utilisateur du gestionnaire de packages NuGet Recherche et installation du 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 en C

IronXL offre la possibilité de créer un classeur vide. Un classeur est un tableur qui contient plusieurs feuilles de calcul. Les données sont stockées dans des cellules. Le format CSV ressemble également à une feuille de calcul, mais avec l'extension de fichier CSV.

// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()
$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 a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

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

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

' Creates a worksheet with the 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 .

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

Écrire les données dans la WorkSheet

Écrire des fichiers CSV est facile avec IronXL. Il offre des fonctionnalités Excel permettant d'exporter des données vers des fichiers CSV. Les références de cellules permettent d'ajouter des valeurs à des emplacements spécifiques. Ici, je vais ajouter quelques enregistrements de certains employés en utilisant une boucle foreach .

// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }

' Starting row for data entry
Dim i As Integer = 2

' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"

' Populate each row with employee data
For Each employee In employeeNames
	' Set values for ID, Name, and Salary
	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 définie avec les en-têtes suivants : ID, Nom, Salaire. Une variable i est également initialisée avec la valeur 2, qui entrera dans les enregistrements de la 2ème ligne sous les en-têtes. La boucle foreach traite chaque employé de la liste et l'ajoute à la ligne actuelle avec son identifiant et son salaire. Avant que la boucle ne se termine, i est incrémenté pour passer à la ligne suivante et à l'enregistrement suivant.

Enregistrez les données dans un fichier CSV.

La dernière étape consiste à enregistrer le fichier CSV. IronXL propose la méthode SaveAsCsv pour enregistrer le classeur au format CSV. Le premier paramètre de cette méthode est le nom du fichier CSV et le second, le délimiteur.

// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

Le code complet est le suivant :

using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Create a new workbook and worksheet
		Dim workBook As WorkBook = WorkBook.Create()
		Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Initialize an array of employee names
		Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }

		' Starting row for data entry
		Dim i As Integer = 2

		' Setting header titles for the columns
		sheet("A1").Value = "ID"
		sheet("B1").Value = "Name"
		sheet("C1").Value = "Salary"

		' Populate each row with employee data
		For Each employee In employeeNames
			' Set values for ID, Name, and Salary
			sheet("A" & i).Value = i
			sheet("B" & i).Value = employee
			sheet("C" & i).Value = i * 1000
			i += 1
		Next employee

		' Save the modified workbook as a CSV file with a specified delimiter
		workBook.SaveAsCsv("sample.csv", ",")
	End Sub
End Class
$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 pour écrire un fichier CSV en utilisant IronXL en C#. IronXL offre également la possibilité de travailler sans aucun problème avec des fichiers CSV existants. Il vous permet également d'écrire des fichiers CSV, de créer de nouveaux fichiers Excel et d'y écrire des données avec 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 être utilisé sous licence à des fins commerciales. Vous pouvez également essayer la version d'essai gratuite d'IronXL pour un usage commercial.

Questions Fréquemment Posées

Comment puis-je écrire des données dans un fichier CSV en C#?

Vous pouvez utiliser la méthode `SaveAsCsv` d'IronXL pour exporter des données dans un fichier CSV en C#. D'abord, créez un classeur et une feuille de calcul, écrivez des données dans les cellules, puis utilisez `workBook.SaveAsCsv("filename.csv", ",");` pour enregistrer les données en tant que fichier CSV.

Quelles sont les étapes pour créer une application console pour écrire des fichiers CSV en C#?

Pour créer une application console pour écrire des fichiers CSV, configurez un nouveau projet dans Visual Studio, sélectionnez la version .NET appropriée et installez IronXL via le gestionnaire de packages NuGet. Ensuite, utilisez IronXL pour créer un classeur, ajouter des données à une feuille de calcul et l'enregistrer en tant que CSV.

Puis-je écrire des données dans un fichier CSV sans utiliser Microsoft Excel?

Oui, vous pouvez écrire des données dans un fichier CSV sans Microsoft Excel en utilisant IronXL. Il permet de manipuler des fichiers Excel et CSV par programmation sans avoir besoin d'installer Excel.

Comment installer IronXL dans un projet Visual Studio ?

Vous pouvez installer IronXL en ouvrant le gestionnaire de packages NuGet dans Visual Studio, en recherchant 'IronXL', et en cliquant sur 'Installer' pour l'ajouter à votre projet. Cela vous permettra d'utiliser les fonctionnalités d'IronXL pour gérer des fichiers Excel et CSV.

Quels formats de fichier IronXL prend-il en charge pour l'exportation?

IronXL prend en charge l'exportation de données vers plusieurs formats, y compris CSV, JSON, HTML, Binaire, Tableau d'octets, DataSet et DataTable, ce qui le rend polyvalent pour différents besoins de gestion des données.

IronXL est-il compatible avec différentes versions de .NET?

Oui, IronXL est compatible avec plusieurs versions de .NET, y compris .NET Core 2 et 3, ainsi que .NET 5, 6 et 7, ce qui permet aux développeurs d'avoir de la flexibilité sur différents environnements de développement.

Puis-je utiliser IronXL pour des projets commerciaux?

Oui, IronXL peut être licencié à des fins commerciales. Il propose également un essai gratuit pour utilisation en développement, permettant aux développeurs de tester ses fonctionnalités avant d'opter pour une licence commerciale.

Comment créer un nouveau classeur et une feuille de calcul en C# en utilisant IronXL?

Vous pouvez créer un nouveau classeur et une feuille de calcul en utilisant `WorkBook.Create()` pour initialiser un objet classeur puis en ajoutant une nouvelle feuille de calcul à celui-ci. Cela vous permet de commencer à écrire des données dans la feuille de calcul.

IronXL nécessite-t-il des dépendances Office Interop?

Non, IronXL est une bibliothèque autonome qui ne nécessite pas de dépendances Office Interop, ce qui la rend facile à utiliser et à déployer dans des applications sur différentes plateformes.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite