Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment lire un fichier CSV en C#

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

IronXL - Bibliothèque Excel

IronXL est une puissante bibliothèque Excel qui offre aux développeurs C# la possibilité de créer, charger, lire et modifier des feuilles de calcul Excel dans différents formats. Conçu spécifiquement pour .NET, IronXL privilégie la vitesse, la précision et la facilité d'utilisation. Il permet d' enregistrer des fichiers Excel dans différents formats et de charger divers formats de feuilles 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 fichier, notamment CSV et TSV, XLS et XLSX, XSLT et XLSM. Il est compatible avec la dernière version du .NET Framework, ainsi qu'avec toutes les versions précédentes jusqu'à la version 2.0. IronXL peut être utilisé sur diverses plateformes, notamment Linux, MacOS, Azure, Docker et AWS.

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

Prérequis

Pour convertir des données d'un fichier CSV en 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. Il s'agit de l'EDI officiel et recommandé pour le développement d'applications C#, et il peut être téléchargé et installé depuis le site Web de Microsoft . Toutefois, d'autres environnements de développement intégrés (IDE) prenant en charge le C# peuvent également être utilisés si le développeur le préfère.
  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 Nouvelle fenêtre de projet

* Choisissez " Application console " 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 de manière standard. Toutefois, pour éviter toute erreur potentielle, vous pouvez opter pour la version plus stable de .NET 6.0, car Microsoft assure un support à long terme pour celle-ci. Il est important de choisir la version appropriée en fonction de vos besoins spécifiques.
  1. IronXL - Il s'agit de la bibliothèque .NET Excel conçue pour fonctionner avec les feuilles de calcul Excel. Il doit être installé dans votre application C# avant d'être utilisé. Vous pouvez télécharger et installer le package à partir de plusieurs sources :
    1. NuGet - le gestionnaire de packages 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 accédant à Outils > Gestionnaire de packages NuGet > Gérer les packages pour la solution…
  2. Téléchargez le fichier zip de l'DLL .NET Excel IronXL directement depuis le site Web d'Iron et ajoutez-le à la solution du projet en tant que référence de projet.

Ajouter l'espace de noms IronXL

Une fois les prérequis réunis, l'étape suivante 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 une méthode simple pour lire les fichiers CSV en C#. Commencez par ouvrir un fichier CSV en mode lecture. 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 :

// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
' Load the CSV file and convert it to XLSX format.
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
$vbLabelText   $csharpLabel

La méthode LoadCSV d'IronXL permet d'ouvrir un fichier CSV et de le convertir au format XLSX. Cette méthode offre la possibilité de spécifier le délimiteur de liste utilisé dans le fichier CSV. Dans cet exemple, le délimiteur par défaut, la virgule, est utilisé. Le fichier résultant est ouvert et peut être traité ultérieurement à l'aide des fonctionnalités d'IronXL pour la lecture et la manipulation des feuilles de calcul Excel.

Comment lire un fichier CSV en C# ? Figure 5 : Fichier CSV CSV File

Récupérer la feuille de calcul à partir de la classe de lecture CSV

À l'étape précédente, le fichier CSV a été ouvert comme un classeur Excel à l'aide d'IronXL. Récupérez maintenant la feuille de calcul par défaut du classeur à l'aide de la classe WorkSheet . L'exemple suivant montre comment obtenir la feuille de calcul pour la lecture des données CSV :

// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
' Retrieve the default worksheet from the loaded workbook.
Dim ws As WorkSheet = csv.DefaultWorkSheet
$vbLabelText   $csharpLabel

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

Lire des données CSV à l'aide d'un DataTable C

Une fois le fichier CSV chargé avec succès et les données disponibles sous forme de feuille de calcul, les données peuvent être lues très facilement à partir du fichier CSV dans un DataTable C#.

Convertir une feuille de calcul en tableau de données

Commencez par créer une instance DataTable et convertissez les données de la feuille de calcul en un tableau à l'aide de la méthode ToDataTable . Le code suivant aide à réaliser cette tâche :

// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
' Convert the worksheet data to a DataTable.
Dim dt As DataTable = ws.ToDataTable(True)
$vbLabelText   $csharpLabel

Commencez la lecture des données CSV

Maintenant, parcourez tous les enregistrements à l'aide de l'instance DataTable . Les données sont reçues sous forme de lignes et de colonnes. Commencez par parcourir chaque colonne pour en obtenir la valeur. Pour obtenir tous les enregistrements ainsi que la ligne d'en-tête, utilisez l'extrait de code suivant :

// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
' Iterate over each row in the DataTable.
For Each row As DataRow In dt.Rows
	' Iterate over each column in the current row.
	For i As Integer = 0 To dt.Columns.Count - 1
		' Print each column value in the current row.
		Console.Write(row(i) & "  ")
	Next i
	' Move to the next line after printing all columns of the current row.
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

Dans le code ci-dessus, une boucle foreach est utilisée pour obtenir un seul enregistrement à 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 du fichier de sortie est similaire à celui d'un fichier CSV.

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

Résumé

Cet article a démontré comment créer un lecteur CSV en C# en utilisant la bibliothèque IronXL. Le chargement des fichiers CSV est facilité par IronXL, car il 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 qu'elle corresponde au fichier d'origine.

IronXL offre é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 ainsi aux développeurs une grande flexibilité dans la conversion des données entre elles sans avoir recours à des applications tierces. Grâce à ses fonctionnalités puissantes, IronXL est un outil précieux pour les développeurs C# qui souhaitent travailler avec des feuilles de calcul Excel et gérer efficacement les données CSV.

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

Questions Fréquemment Posées

Comment créer un lecteur CSV en C# sans utiliser Interop?

Vous pouvez créer un lecteur CSV en C# sans utiliser Interop en tirant parti de la bibliothèque IronXL. Tout d'abord, installez IronXL via NuGet ou téléchargez la DLL Excel .NET depuis le site IronXL. Ajoutez l'espace de noms IronXL dans votre code et utilisez la méthode WorkBook.LoadCSV pour charger un fichier CSV, vous permettant de le manipuler comme un classeur Excel.

Quels sont les avantages d'utiliser IronXL pour les opérations CSV en C#?

IronXL offre une solution puissante et flexible pour gérer les opérations CSV en C#. Il permet aux développeurs de charger, lire et convertir des fichiers CSV au format Excel sans avoir besoin de Microsoft Excel ou Interop, le rendant compatible avec diverses plateformes comme Linux, MacOS et les services cloud tels qu'Azure et AWS.

Comment peut-on convertir des données CSV au format Excel en utilisant IronXL?

Pour convertir des données CSV au format Excel en utilisant IronXL, chargez le fichier CSV avec la méthode WorkBook.LoadCSV puis enregistrez-le en utilisant la méthode WorkBook.SaveAs, en spécifiant le format Excel souhaité tel que XLSX.

Est-il possible de lire des données CSV dans une DataTable en C# en utilisant IronXL?

Oui, vous pouvez lire des données CSV dans une DataTable en C# en utilisant IronXL. Chargez le CSV comme un classeur, accédez à la feuille de travail par défaut, et utilisez la méthode Range.ToDataTable pour convertir les données de la feuille de travail en DataTable pour une manipulation et une itération faciles.

Quelles plateformes sont compatibles avec la bibliothèque IronXL?

La bibliothèque IronXL est compatible avec de multiples plateformes, y compris Windows, Linux, MacOS, Azure, Docker et AWS. Ce support multiplateforme en fait un choix polyvalent pour les développeurs travaillant dans des environnements divers.

IronXL peut-il être utilisé pour des projets commerciaux?

Oui, IronXL peut être utilisé pour des projets commerciaux. Bien qu'il propose un essai gratuit pour le développement et les tests, une licence commerciale est requise pour une utilisation en production. Cette licence donne accès à la gamme complète de fonctionnalités et de support.

Comment IronXL améliore-t-il la manipulation des données CSV dans les applications C# ?

IronXL améliore la manipulation des données CSV dans les applications C# en permettant aux développeurs de charger et de modifier des fichiers CSV sans se fier à Microsoft Excel. Il fournit des méthodes pour convertir entre les formats CSV et Excel, rendant la gestion des données plus flexible et efficace.

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