UTILISATION D'IRONXL

Comment lire un fichier CSV en C#

Regan Pun
Regan Pun
avril 19, 2023
Mise à jour mars 24, 2024
Partager:

Cet article explique comment créer un lecteur CSV en C# à l'aide de la bibliothèque IronXL.

IronXL - Bibliothèque Excel

IronXL est une bibliothèque Excel puissante qui permet aux développeurs C# de créer, charger, lire et modifier des feuilles de calcul Excel dans divers formats. Conçu spécifiquement pour .NET, IronXL privilégie la vitesse, la précision et la facilité d'utilisation. Il permet de sauvegarder des fichiers Excel dans différents formats et de charger divers formats de feuille de calcul dans Excel pour une lecture efficace des données.

IronXL prend en charge les formats de classeurs Excel avec différentes extensions de fichiers, notamment CSV et TSV, XLS et XLSX, XSLT et XLSM. Il est compatible avec la dernière version du Framework .NET, ainsi qu'avec toutes les versions précédentes jusqu'à 2.0. IronXL peut être utilisé sur différentes plateformes, notamment Linux, MacOS, Azure, Docker et AWS.

Comment créer un lecteur CSV dans C# ; en utilisant IronXL ?

Conditions préalables

Pour convertir les données d'un fichier CSV en un fichier Excel et les lire en C#, nous avons besoin des outils suivants :

  1. Visual Studio : est un Environnement de Développement Intégré (IDE) essentiel pour travailler sur des applications C# .NET. C'est l'IDE officiel et recommandé pour développer des applications C#, et il peut être téléchargé et installé depuis le site de Microsoft. Toutefois, d'autres IDE prenant en charge un environnement C# peuvent également être utilisés si le développeur le souhaite.

  2. Créer une application console : Suivez les étapes pour créer une application console simple.

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

    Comment lire un fichier CSV en C#, Figure 2 : Fenêtre de nouveau projet

    Fenêtre de nouveau projet

    • Choisissez "Console App" dans la liste des options disponibles. Assurez-vous que le langage sélectionné est C#.

    Comment lire un fichier CSV en C#, Figure 3 : Créer une nouvelle application Console

    Créer une nouvelle application Console

    • Ensuite, nommez votre projet comme vous le souhaitez.

    Comment lire un fichier CSV en C#, Figure 4 : Configuration

    Configuration

    • L'étape suivante de la configuration du projet consiste à sélectionner le Framework .NET. La dernière version disponible est .NET 7.0, qui est prise en charge dans la durée standard. Toutefois, pour éviter toute erreur potentielle, vous pouvez opter pour la version plus stable de .NET 6.0, car Microsoft assure une assistance à long terme. Il est important de choisir la version appropriée en fonction de vos besoins spécifiques.
  3. IronXL - Il s'agit de la bibliothèque Excel .NET conçue pour fonctionner avec des feuilles de calcul Excel. Il doit être installé dans votre application C# avant d'être utilisé. Vous pouvez télécharger et installer le paquet à partir de plusieurs sources :

    1. nuGet_ - le gestionnaire de paquets pour .NET. Vous pouvez télécharger directement IronXL depuis le site web NuGet.

    2. Gestionnaire de packages NuGet de Visual Studio: Ouvrez le Gestionnaire de packages en allant dans Outils > Gestionnaire de packages NuGet > Gérer les packages pour la solution...**

    3. Téléchargez le fichier zip .NET Excel DLL d'IronXL directement depuis le site Iron et ajoutez-le à la solution du projet en tant que référence de projet.

Ajouter l'espace de noms IronXL

Une fois que vous avez les prérequis, la prochaine étape consiste à ajouter l'espace de noms IronXL en haut du code source dans le fichier main.cs :

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

Ouvrir un fichier CSV existant

IronXL offre un moyen facile de lire des fichiers CSV en C#. Tout d'abord, ouvrez un fichier CSV pour le lire. Il s'agit d'un type de fichier basé sur des lignes et des colonnes. Ici, la classe WorkBook est utilisée avec sa méthode LoadCSV pour ouvrir un fichier CSV. Le code est le suivant :

var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
$vbLabelText   $csharpLabel

La méthode LoadCSV dans IronXL vous permet d'ouvrir un fichier CSV et de le convertir au format XLSX. Cette méthode propose des options permettant de spécifier le délimiteur de liste utilisé dans le fichier CSV. Dans cet exemple, le délimiteur par défaut, qui est une virgule, est utilisé. Le fichier obtenu est ouvert et peut être traité ultérieurement à l'aide des fonctions d'IronXL permettant de lire et de manipuler les feuilles de calcul Excel.

Comment Lire un Fichier CSV en C#, Figure 5 : Fichier CSV

Fichier CSV

Obtenir une feuille de travail à partir d'une classe de lecteur CSV

Dans l'étape précédente, le fichier CSV a été ouvert en tant que classeur Excel à l'aide d'IronXL. Maintenant, obtenez la feuille de calcul par défaut à partir du classeur en utilisant la classe WorkSheet. L'exemple suivant montre comment obtenir la feuille de calcul pour lire les données CSV :

WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
$vbLabelText   $csharpLabel

Pour plus d'informations sur l'utilisation des feuilles de calcul Excel, vous pouvez visiter cette page d'exemples de code.

Lire les données CSV en utilisant C&num ; DataTable

Une fois que le fichier CSV est chargé avec succès et que les données sont disponibles en tant que feuille de calcul, les données peuvent être lues très facilement à partir du fichier CSV dans un tableau de données C#.

Convertir une feuille de calcul en tableau de données

Tout d'abord, créez une instance de DataTable et convertissez les données de la feuille de calcul en table en utilisant la méthode ToDataTable. Le code suivant permet de réaliser cette tâche :

DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
$vbLabelText   $csharpLabel

Début de la lecture des données CSV

Maintenant, itérez à travers tous les enregistrements en utilisant l'instance DataTable. Les données sont reçues en lignes et en colonnes. Commencez par parcourir chaque colonne pour obtenir sa valeur. Pour obtenir tous les enregistrements avec la ligne d'en-tête, utilisez l'extrait de code suivant :

foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ") 'format output
	Next i
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

Dans le code ci-dessus, une boucle foreach est utilisée pour obtenir un enregistrement unique à partir d'une collection de lignes. Ensuite, à l'intérieur d'une boucle for imbriquée, le nombre de colonnes est compté et, enfin, les données de chaque ligne sont imprimées à l'écran. Le format de sortie est similaire à celui d'un fichier CSV.

Comment lire un fichier CSV en C#, Figure 6 : Résultat

Sortie

Résumé

Cet article a montré comment créer un lecteur CSV en C# en utilisant la bibliothèque IronXL. Le chargement de fichiers CSV est facilité par IronXL qui prend en charge le format CSV dans les feuilles de calcul Excel. L'objet DataTable est utilisé pour créer un lecteur CSV élégant et formater la sortie pour correspondre au fichier original.

IronXL propose également une conversion pratique entre différents formats de fichiers et permet de créer des fichiers Excel à partir de zéro sans nécessiter l'installation d'Interop et de Microsoft Excel. Il est également compatible avec C# DataSet et DataTable, offrant aux développeurs une flexibilité pour interconvertir les données sans dépendre d'applications tierces. Grâce à ses puissantes fonctionnalités, IronXL est un outil précieux pour les développeurs C# qui souhaitent travailler avec des feuilles de calcul Excel et manipuler efficacement des données CSV.

IronXL est gratuit pour le développement. Cependant, pour une utilisation commerciale, vous devez acheter sa licence à partir de $749. Vous pouvez également utiliser sa version d'essai gratuite pour tester la compatibilité de son fichier .dll compilé avec votre projet en mode production.

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 convertir un jeu de données en Excel en C#
SUIVANT >
Comment récupérer la valeur d'une cellule d'un fichier Excel en C#