Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment créer un écrivain CSV .NET en utilisant IronXL

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 relève ces défis en combinant une écriture CSV robuste avec des fonctionnalités Excel complètes dans une seule bibliothèque, gérant facilement plusieurs colonnes dans une bibliothèque unique et sans dépendance qui suit 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 :

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", ",");
    }
}
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", ",");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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 créer un module d'écriture CSV .NET avec IronXL : 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.
// 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.
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

Vous pouvez tout d'abord voir ici les fichiers CSV générés à partir de notre fichier Excel multi-feuilles :

Comment créer un module d'écriture CSV .NET avec IronXL : Figure 2 - Fichiers CSV

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

Comment créer un module d'écriture CSV .NET avec IronXL : Figure 3 - Exemple de résultat

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", ";");
// 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", ";");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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 créer un générateur CSV .NET avec IronXL : Figure 4 - Exportation d'un DataTable au format 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);
}
using (var writer = new StreamWriter("employees.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
    csv.WriteRecords(employees);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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", ",");
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", ",");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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 les guillemets, les virgules et les sauts de ligne.
  • 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 $liteLicense.

Questions Fréquemment Posées

À quoi sert IronXL ?

IronXL est une bibliothèque .NET conçue pour travailler avec des fichiers Excel, permettant aux développeurs de créer, lire et modifier des documents Excel ainsi que de les exporter vers divers formats tels que CSV, tout en préservant les types de données et en gérant des scénarios de tableurs complexes.

Comment IronXL peut-il aider à l'écriture de CSV dans .NET ?

IronXL fournit des fonctionnalités pour exporter des classeurs Excel au format CSV, en s'assurant que les types de données sont préservés et que les scénarios de tableurs complexes sont gérés efficacement, ce qui en fait un choix idéal pour les développeurs .NET ayant besoin d'une solution robuste d'écriture de CSV.

Pourquoi les développeurs devraient-ils envisager d'utiliser IronXL pour les opérations CSV ?

Les développeurs devraient envisager d'utiliser IronXL pour sa capacité à exporter sans problème des fichiers Excel en CSV, à gérer de grands ensembles de données et à maintenir l'intégrité des types de données, offrant une solution supérieure pour les opérations CSV dans les applications .NET.

Quels sont les avantages d'utiliser IronXL pour la gestion des tableurs ?

Les avantages d'utiliser IronXL pour la gestion des tableurs incluent la manipulation facile des documents Excel, le support pour divers formats d'exportation comme CSV, et la capacité à gérer efficacement des structures de données complexes et de grands ensembles de données dans les applications .NET.

IronXL peut-il gérer de grands fichiers Excel lors de l'exportation en CSV ?

Oui, IronXL est conçu pour gérer efficacement de grands fichiers Excel, permettant aux développeurs d'exporter de grandes quantités de données en CSV sans compromettre les performances ou l'intégrité des données.

Comment IronXL assure-t-il la préservation des types de données lors de l'exportation en CSV ?

IronXL assure la préservation des types de données en convertissant précisément les données Excel au format CSV tout en maintenant les types et les structures de données d'origine, ce qui est crucial pour les applications nécessitant une gestion précise des données.

IronXL est-il adapté aux scénarios de tableurs complexes ?

IronXL convient parfaitement aux scénarios de tableurs complexes, offrant des fonctionnalités avancées pour gérer et manipuler des documents Excel complexes et garantissant que les données peuvent être exportées avec précision en CSV ou d'autres formats.

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