Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers

Travailler avec des fichiers CSV en C# va souvent au-delà de la simple lecture et écriture. Les développeurs ont besoin d'une gestion fiable des fichiers CSV, d'une importation/exportation de données fluide et d'une intégration facile avec les flux de travail des feuilles de calcul. Bien que les bibliothèques gratuites comme CsvHelper couvrent les opérations CSV de base, elles peuvent parfois s'avérer insuffisantes lorsque vous avez besoin d'une prise en charge des classeurs Excel, de performances élevées ou d'une gestion cohérente des lignes, des colonnes et des types de données.

IronXL relève ces défis en proposant une bibliothèque .NET unique capable de gérer les formats CSV et Excel de manière transparente, sans nécessiter Microsoft Office. Elle offre des fonctionnalités robustes pour la lecture et l'écriture de fichiers CSV, le mappage d'objets de classes personnalisés et la conversion entre les valeurs séparées par des virgules et Excel. Le tout dans un flux de travail haute performance et faible consommation de mémoire, adapté aux applications de bureau et web.

Comment débuter avec IronXL ?

L'installation d'IronXL ne prend que quelques secondes via le gestionnaire de packages NuGet . Ouvrez votre console du gestionnaire de paquets dans Visual Studio et exécutez :

Install-Package IronXL.Excel

Après l'installation, ajoutez l'espace de noms IronXL à votre fichier C# :

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

IronXL fonctionne sous Windows, Linux et macOS, et prend en charge .NET Framework 4.6.2+ et .NET Core/5/6/7/8+. La bibliothèque fonctionne de manière indépendante, sans dépendance à Microsoft Office, ce qui la rend idéale pour les déploiements sur serveur et les applications cloud. Pour obtenir des instructions d'installation détaillées, consultez le guide d'installation d'IronXL .

Comment lire des fichiers CSV avec IronXL ?

IronXL prend en charge la lecture aisée des fichiers CSV, l'ensemble du processus suivant un schéma intuitif. La bibliothèque gère automatiquement les problèmes courants tels que la détection de l'encodage et l'identification des délimiteurs, des problèmes que les développeurs rencontrent fréquemment lors de l'analyse des données CSV :

// Load a CSV file into a WorkBook
WorkBook workBook = WorkBook.Load("sales_data.csv");
// Access the imported worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Read specific cell values
string customerName = workSheet["A2"].StringValue;
decimal orderAmount = workSheet["B2"].DecimalValue;
// iterating from row 1 to skip the header row
for (int i = 1; i < workSheet.Rows.Count(); i++)
{
    var row = workSheet.Rows[i];
    Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}");
}
// Load a CSV file into a WorkBook
WorkBook workBook = WorkBook.Load("sales_data.csv");
// Access the imported worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Read specific cell values
string customerName = workSheet["A2"].StringValue;
decimal orderAmount = workSheet["B2"].DecimalValue;
// iterating from row 1 to skip the header row
for (int i = 1; i < workSheet.Rows.Count(); i++)
{
    var row = workSheet.Rows[i];
    Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ce code charge un fichier CSV dans un objet WorkBook, qui offre toutes les fonctionnalités d'une feuille de calcul. La propriété DefaultWorkSheet donne un accès immédiat aux données CSV. Les cellules individuelles sont accessibles à l'aide de la notation Excel habituelle, comme " A2 ", avec des méthodes de conversion de type intégrées (StringValue, DecimalValue, IntValue) garantissant une gestion correcte des données. La boucle " for " illustre l'itération sur les lignes, en traitant chaque ligne comme une collection de cellules. Nous avons utilisé une boucle qui ignorera automatiquement la première ligne car il s'agit d'une ligne d'en-tête ; Toutefois, si vous souhaitez conserver votre en-tête dans le résultat, utilisez simplement :

foreach (var row in workSheet.Rows)
{
    Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}");
}
foreach (var row in workSheet.Rows)
{
    Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pour des scénarios plus complexes, consultez le tutoriel de lecture complet .

Sortie

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers : Figure 1 - Lecture du fichier CSV

Pour les scénarios avancés, les développeurs peuvent mapper les lignes CSV dans des objets de classe personnalisés en parcourant chaque ligne et en attribuant les valeurs des cellules aux propriétés de l'objet. Cette approche offre une méthode simple pour travailler avec des données structurées en C#.

Comment écrire des fichiers CSV en C# ?

La création de fichiers CSV avec IronXL prend en charge plusieurs approches, allant de la création de nouvelles feuilles de calcul à la conversion de structures de données existantes. Cette flexibilité la rend idéale pour les scénarios d'exportation de données :

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("inventory");
// Add header row
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
// Save as CSV
workBook.SaveAsCsv("inventory.csv");
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("inventory");
// Add header row
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
// Save as CSV
workBook.SaveAsCsv("inventory.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet exemple crée un nouveau classeur à partir de zéro et le remplit de données. La méthode SaveAsCsv() exporte la feuille de calcul au format CSV, en gérant automatiquement la mise en forme et les délimiteurs. IronXL préserve les types de données lors de l'exportation, garantissant ainsi que les nombres restent numériques au lieu de tout convertir en chaînes de caractères. La méthode SaveAsCsv prend en charge les délimiteurs personnalisés si nécessaire.

Sortie

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers : Figure 2 - Fichier CSV nouvellement créé avec IronXL

Pour les données existantes, IronXL peut convertir directement les DataTables :

DataTable dataTable = GetDataFromDatabase();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("export");
workSheet.InsertDataTable(dataTable, "A1");
workBook.SaveAsCsv("export.csv");
DataTable dataTable = GetDataFromDatabase();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("export");
workSheet.InsertDataTable(dataTable, "A1");
workBook.SaveAsCsv("export.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronXL peut-il convertir entre les formats CSV et Excel ?

La caractéristique phare d'IronXL est sa conversion transparente entre les formats CSV et Excel. Cette fonctionnalité élimine le besoin de bibliothèques distinctes lors de la manipulation de différents types de fichiers, une exigence courante évoquée par les développeurs :

// Convert CSV to Excel
WorkBook csvWorkBook = WorkBook.Load("data.csv");
csvWorkBook.SaveAs("data.xlsx");
// Convert Excel to CSV
WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx");
xlsxWorkBook.SaveAsCsv("report.csv");
// Convert CSV to Excel
WorkBook csvWorkBook = WorkBook.Load("data.csv");
csvWorkBook.SaveAs("data.xlsx");
// Convert Excel to CSV
WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx");
xlsxWorkBook.SaveAsCsv("report.csv");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces conversions préservent l'intégrité des données, y compris les types numériques, les dates et les formules, le cas échéant. Lors de la conversion de fichiers Excel multi-feuilles en CSV, IronXL crée des fichiers CSV distincts pour chaque feuille de calcul :

WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx");
multiSheetWorkBook.SaveAsCsv("output.csv");
// Creates: output.Sheet1.csv, output.Sheet2.csv, etc.
WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx");
multiSheetWorkBook.SaveAsCsv("output.csv");
// Creates: output.Sheet1.csv, output.Sheet2.csv, etc.
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le processus de conversion gère avec élégance les fonctionnalités complexes d'Excel. Les formules sont évaluées, la mise en forme est préservée autant que possible et les règles de validation des données sont conservées au format Excel. Pour en savoir plus sur la conversion d'Excel en CSV, consultez la documentation.

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers : Figure 3 - Fichier Excel multipage enregistré sous forme de fichiers CSV distincts

Pour comparer un fichier CSV avec le fichier .xlsx d'origine, examinons le fichier " Customers " ouvert dans le Bloc-notes et la feuille " Customers " affichée dans Excel :

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers : Figure 4 - Fichier Excel original comparé au fichier CSV converti

Commencez avec IronXL maintenant.
green arrow pointer

Pourquoi choisir IronXL pour la gestion des fichiers CSV ?

Lors de l'évaluation des bibliothèques CSV C#, les développeurs prennent en compte des facteurs tels que la facilité d'utilisation, l'exhaustivité des fonctionnalités et le support à long terme. IronXL répond à ces besoins de manière exhaustive :

Comment utiliser une bibliothèque CSV C# pour lire et écrire des fichiers : Figure 5 - Tableau comparatif IronXL vs. bibliothèques CSV uniquement

Au-delà des opérations CSV de base, IronXL offre des fonctionnalités professionnelles telles que la gestion de fichiers protégés par mot de passe, la préservation du style des cellules et le calcul de formules. L'API unifiée permet aux développeurs d'apprendre une seule bibliothèque pour tous leurs besoins en matière de feuilles de calcul, réduisant ainsi la complexité des projets qui gèrent plusieurs formats de fichiers.

La compatibilité multiplateforme garantit un comportement cohérent dans les environnements de développement et de production. L'approche de code géré de la bibliothèque élimine les dépendances spécifiques à la plateforme, simplifiant ainsi le déploiement et la maintenance. Pour une comparaison détaillée des fonctionnalités, consultez la page des fonctionnalités d'IronXL .

Conclusion

IronXL simplifie l'ensemble du flux de travail de lecture et d'écriture des fichiers CSV, de conversion entre Excel et CSV et de gestion des fonctionnalités avancées des tableurs. C'est bien plus qu'une simple bibliothèque CSV, c'est une suite complète d'outils de tableur pour les développeurs .NET.

En combinant une API claire, une assistance complète et des tests de niveau entreprise, IronXL aide les développeurs à éviter de perdre du temps à traquer les bugs, à appliquer des correctifs avec des demandes d'extraction ad hoc ou à s'appuyer sur des packages open source fragmentés.

Si votre projet exige des fonctionnalités de tableur fiables et performantes, IronXL est la solution idéale. Il vous permet de gérer des fichiers, de traiter des données et de créer des solutions évolutives, le tout avec une stabilité professionnelle et une grande facilité d'utilisation.

Prêt à simplifier la gestion de vos fichiers CSV et Excel ? Commencez par un essai gratuit à partir de $liteLicense, qui comprend une assistance professionnelle et des mises à jour continues.

Questions Fréquemment Posées

Qu'est-ce qu'IronXL et comment aide-t-il avec les fichiers CSV en C# ?

IronXL est une bibliothèque C# puissante qui permet aux développeurs de lire, écrire et convertir des fichiers CSV de manière fluide. Elle offre un support étendu aux classeurs Excel, garantissant des performances élevées et une gestion cohérente des lignes, colonnes et types de données.

Pourquoi devrais-je utiliser IronXL plutôt que des bibliothèques gratuites comme CsvHelper ?

Bien que CsvHelper soit excellent pour les opérations CSV de base, IronXL excelle avec des fonctionnalités telles que la prise en charge des classeurs Excel, une performance améliorée et une gestion robuste des types de données, la rendant adaptée à des flux de travail de feuilles de calcul plus complexes.

IronXL peut-il gérer à la fois les formats CSV et Excel ?

Oui, IronXL est conçu pour gérer efficacement les formats CSV et Excel, vous permettant de convertir facilement entre les deux.

IronXL supporte-t-il une gestion des données haute performance ?

IronXL est conçu pour des performances élevées, assurant des processus d'importation et d'exportation de données fluides avec une vitesse et une efficacité optimales.

Est-il possible d'intégrer IronXL avec les flux de travail de feuilles de calcul existants ?

Absolument, IronXL s'intègre parfaitement avec les flux de travail de feuilles de calcul existants, améliorant la capacité à gérer les données à travers les formats CSV et Excel.

Qu'est-ce qui rend IronXL adapté aux opérations complexes de fichiers CSV ?

IronXL fournit des fonctionnalités robustes telles qu'une gestion cohérente des lignes, colonnes et types de données, le rendant idéal pour les opérations complexes de fichiers CSV qui nécessitent plus qu'une gestion de base.

Puis-je utiliser IronXL pour convertir des fichiers CSV en Excel ?

Oui, l'une des principales fonctionnalités d'IronXL est sa capacité à convertir des fichiers CSV en format Excel et vice versa, rationalisant ainsi les processus de gestion de données.

Comment IronXL assure-t-il une gestion fiable des fichiers CSV ?

IronXL assure une gestion fiable des fichiers CSV grâce à ses fonctionnalités avancées qui incluent le support des types de données complexes et l'intégration avec les fonctionnalités Excel.

Quels sont les avantages d'utiliser IronXL pour l'importation/exportation de données ?

IronXL offre des processus d'importation/exportation de données fluides, économisant aux développeurs du temps et des efforts tout en garantissant l'intégrité et l'exactitude des données à travers les formats.

IronXL est-il facile à utiliser pour les développeurs novices en opérations CSV en C# ?

Oui, IronXL est conçu avec des fonctionnalités conviviales et des exemples de code simples, le rendant accessible et facile à utiliser pour les développeurs novices en opérations CSV en C#.

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