IRONSOFTWAREHOME
UTILISATION D'IRONXL

Comment lire des fichiers CSV avec des virgules en C#

Curtis Chau
Curtis Chau
Updated: 8 mai 2026

Pourquoi les développeurs .NET ont-ils besoin d'une meilleure solution CSV ?

Les fichiers CSV permettent l'échange de données entre d'innombrables applications .NET. Des rapports financiers aux systèmes d'inventaire, vous avez la liberté de créer des fichiers CSV par programmation en quelques lignes de code seulement. Alors que des bibliothèques comme CsvHelper couvrent les opérations CSV de base, les développeurs modernes sont confrontés à des scénarios complexes : la conversion de classeurs Excel contenant des formules, la préservation des types de données lors de l'exportation et la gestion des flux de travail de feuilles de calcul de niveau entreprise. IronXL répond à ces défis en combinant une écriture CSV robuste avec des fonctionnalités Excel complètes en une seule bibliothèque, gérant plusieurs colonnes avec aisance en une seule, libre de dépendances qui respecte les normes RFC 4180.

Cela le rend idéal pour les développeurs qui créent un module d'écriture CSV .NET personnalisé ou un analyseur CSV .NET prenant en charge plusieurs colonnes, des fonctionnalités spécifiques à chaque ligne n'affectant que la ligne en cours de traitement et des séparateurs automatiquement déduits.

Premiers pas avec IronXL

L'installation d'IronXL ne prend que quelques secondes via le gestionnaire de packages NuGet :

PM > Install-Package IronXL.Excel

Une fois installé, ajoutez l'espace de noms IronXL pour commencer à écrire des fichiers CSV et à travailler efficacement avec des valeurs séparées :

using IronXL;
class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet workSheet = workBook.CreateWorkSheet("data");
        // Add headers
        workSheet["A1"].Value = "Product";
        workSheet["B1"].Value = "Quantity";
        workSheet["C1"].Value = "Price";
        // Add data
        workSheet["A2"].Value = "Widget";
        workSheet["B2"].Value = 100;
        workSheet["C2"].Value = 19.99;
        // Save as CSV with comma delimiter
        workBook.SaveAsCsv("inventory.csv", ",");
    }
}

Ce programme de test console simple montre comment écrire du contenu CSV directement depuis votre code C#, en créant un objet Workbook qui contient nos données. La méthode SaveAsCsv utilise un séparateur par défaut (la virgule) mais vous permet de définir éventuellement sep pour différentes langues ; Ceci est particulièrement utile lors de la manipulation d'un séparateur décimal ou d'un caractère de séparation de colonnes alternatif. En interne, sep gère l'allocation du tableau pour le tampon de sortie. Le paramètre sep mentionné précédemment vous permet de définir ce caractère.

Nous avons également démontré comment fournir un point d'entrée statique et comment effectuer une gestion efficace de la mémoire à l'aide d'un pool de ressources défini statiquement, permettant des performances élevées sur plusieurs lignes.

Techniques avancées de création de fichiers CSV

Comment lire les fichiers CSV avec des virgules en C#: Figure 1 - Exemple de sortie CSV avec IronXL

Techniques avancées de création de fichiers CSV

Conversion de classeurs Excel en CSV

IronXL excelle dans la conversion de fichiers Excel existants au format CSV , l'évaluation des formules et la préservation de l'intégrité des données. Ceci est essentiel lors de l'écriture de fichiers CSV contenant à la fois des lignes d'en-tête et des données générées dynamiquement.

// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// IronXL evaluates formulas before export
workBook.EvaluateAll();
// Export to CSV - each worksheet creates a separate CSV file
workBook.SaveAsCsv("report.csv", ",");
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.

Lors de la conversion de classeurs à plusieurs feuilles, IronXL génère automatiquement des fichiers CSV individuels pour chaque feuille de calcul. Les calculs des formules sont exécutés avant l'exportation, garantissant ainsi l'exactitude des données dans le fichier CSV final. Mais ce n'est pas sa seule caractéristique. Le séparateur par défaut, déduit automatiquement, assure la compatibilité entre les régions, et la gestion de plusieurs lignes ou colonnes se fait de manière transparente.

Vous pouvez également utiliser un séparateur pouvant être nul pour les environnements dynamiques où les séparateurs pris en charge par défaut varient.

Sortie

Tout d'abord, vous pouvez voir ici les fichiers CSV générés à partir de notre fichier Excel à feuilles multiples :

Comment lire les fichiers CSV avec des virgules en C#: Figure 2 - Fichiers CSV

Voici un exemple de comparaison entre une feuille Excel et le fichier CSV correspondant :

Comment lire les fichiers CSV avec des virgules en C#: Figure 3 - Exemple de sortie

Exportation de DataTable au format CSV

Pour les applications pilotées par base de données, IronXL simplifie les exportations de DataTable . Nous utilisons la variable Datarow au lieu d'une variable de référence classique v pour plus de clarté.

// Assume dataTable contains query results
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Import DataTable directly
var row = 1;
foreach (var dataRow in dataTable.Rows)
{
    for (var col = 0; col < dataTable.Columns.Count; col++)
    {
        workSheet.SetCellValue(row, col, dataRow[col].ToString());
    }
    row++;
}
// Export with custom delimiter if needed
workBook.SaveAsCsv("sales_data.csv", ";");

Lors de l'importation, chaque ligne horizontale de données de la collection dataTable.Rows devient une nouvelle ligne dans la feuille de calcul. IronXL préserve les types de données lors de la conversion : les nombres restent numériques, les dates conservent leur formatage et le texte gère correctement les caractères spéciaux sans configuration supplémentaire.

Sortie

Vous pouvez voir ici notre source de données fictive à côté du fichier CSV de sortie :

Comment lire les fichiers CSV avec des virgules en C#: Figure 4 - Exportation de DataTable vers la sortie CSV

IronXL vs CsvHelper : Comparaison côte à côte pour écrire des fichiers CSV

Prenons l'exemple de cet exemple d'exportation de données d'employés illustrant les flux de travail d'analyse et d'écriture de fichiers CSV.

Implémentation de CsvHelper :

using (var writer = new StreamWriter("employees.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
    csv.WriteRecords(employees);
}

Implémentation d'IronXL :

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
// Add data with automatic type handling
int rowIndex = 1;
foreach (var emp in employees)
{
    workSheet[$"A{rowIndex}"].Value = emp.Name;
    workSheet[$"B{rowIndex}"].Value = emp.Salary;
    workSheet[$"C{rowIndex}"].Value = emp.StartDate;
    rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");

Caractéristique

CsvHelper

IronXL

Écriture CSV de base

Conversion Excel vers CSV

Évaluation de la formule

Gestion de plusieurs feuilles

Préservation du type de données

Manuel

Automatique

Prise en charge du format Excel

XLSX, XLS, XLSM

Aucune suite Microsoft Office requise

Alors que CsvHelper gère efficacement les opérations d'écriture de colonnes simples, IronXL offre la flexibilité nécessaire pour travailler avec plusieurs lignes, des chaînes interpolées et des scénarios de génération de code dynamique, et permet même des optimisations de bas niveau avec des constructions comme ref struct link.

Les développeurs peuvent énumérer les lignes correspondant à des critères spécifiques, gérer les séparateurs par défaut déduits automatiquement, ou même effectuer des tests avec de simples programmes de console qui exposent des fonctionnalités spécifiques à chaque ligne et uniquement la clé de chaque entrée pour le débogage.

Fonctionnalités et meilleures pratiques pour entreprises

La méthode SaveAsCsv d'IronXL inclut des fonctionnalités de niveau entreprise :

  • Délimiteurs personnalisés : prise en charge de la virgule, du point-virgule, de la tabulation ou de tout autre caractère (le séparateur par défaut peut être remplacé par le séparateur sep).
  • Options d'encodage : UTF-8, UTF-16 et encodages personnalisés
  • Évaluation des formules : calcule les formules Excel avant l'exportation
  • Support multiplateforme : Fonctionne sur Windows, Linux et macOS

Les développeurs peuvent également appliquer des méthodes d'extension pour accéder à plusieurs colonnes afin d'optimiser le traitement ou écrire des lignes CSV qui s'étendent sur plusieurs lignes lorsque le retour à la ligne est nécessaire.

Problèmes courants et solutions

Lorsqu'ils travaillent avec des exportations CSV, les développeurs rencontrent souvent les difficultés suivantes :

  • Caractères spéciaux dans les données : IronXL échappe automatiquement aux guillemets, virgules et nouvelles lignes
  • Gestion des fichiers volumineux : Utilisez les plages de feuille de calcul pour traiter les données par morceaux,
  • Problèmes d'encodage : Spécifiez l'encodage UTF-8 pour les caractères internationaux
  • Types de données manquants : IronXL conserve par défaut les formats numériques et de date.

Pour un dépannage détaillé, consultez la documentation CSV d'IronXL , la référence API et les ressources d'assistance .

Commencez dès aujourd'hui à créer votre outil d'écriture CSV.

IronXL transforme l'écriture de fichiers CSV, qui représente un défi d'analyse syntaxique, en une opération simple. En combinant les fonctionnalités CSV avec la prise en charge des classeurs Excel, l'évaluation des formules et la gestion automatique des types, il élimine la complexité de la gestion de plusieurs bibliothèques ou des conversions de données manuelles.

Prêt à optimiser vos flux de travail CSV ? Démarrez votre essai gratuit à partir de $999.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise