using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Lire un fichier CSV à l'aide de C# (Tutoriel d'exemple de code)
Mise à jour janvier 29, 2024
Partager:
Ce tutoriel montre comment lire un fichier CSV à l'aide de la bibliothèque IronXL C# sans installer d'interopérabilité supplémentaire, de manière très efficace.
Vous devez d'abord installer IronXL avant de l'utiliser pour lire des fichiers CSV dans MVC, ASP.NET ou .NET Core. Voici un aperçu de la procédure.
Sélectionnez le menu Projet dans Visual Studio, Gérer les paquets NuGet, et recherchez IronXL.Excel, et installez.
Installer le paquet IronXL dans le gestionnaire de paquets NuGet
IronXL est un excellent outil à utiliser lorsque vous devezlire les fichiers CSV en C#. L'exemple de code ci-dessous montre que vous pouvez lire un fichier CSV en utilisant des virgules ou un autre délimiteur.
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
$vbLabelText $csharpLabel
**Données CSV pour ce tutoriel
L'objetWorkBook (livre de travail) est créé. L'objet WorkBook a une valeur deLoadCSV est ensuite utilisée pour indiquer le nom du fichier CSV, son format et les délimiteurs utilisés dans le fichier CSV lu, qui sont stockés dans un tableau de chaînes. Les virgules sont utilisées comme délimiteurs dans ce scénario.
Ensuite, unFeuille de travail est créé ; c'est l'endroit où le contenu du fichier CSV sera stocké. Le fichier est ensuite renommé et stocké dans un nouveau format. Les données du fichier CSV sont ensuite présentées sous forme de tableau dans la feuille de calcul. Le résultat ressemblera à ceci :
Données converties en fichier Excel
Analyse CSV dans C&num ; .NET
Les CSV présentent plusieurs problèmes liés à la gestion des sauts de ligne dans les champs, et à la façon dont les champs peuvent être placés entre guillemets, ce qui empêche une simple technique de séparation de chaînes de fonctionner Split("'"). Au lieu de cela, IronXL propose de personnaliser le délimiteur en utilisant un paramètre optionnel de la méthode LoadCSV, vérifiez la documentation API deLoadCSV pour plus de détails.
C&num ; Enregistrements - Lecture de données CSV
Dans l'exemple ci-dessous, le foreach est utilisé pour parcourir en boucle les lignes du fichier CSV, et la Console est utilisée pour écrire les données dans un enregistrement.
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
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] + " ");
}
Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
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] + " ");
}
Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
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) & " ")
Next i
Console.WriteLine()
Next row
$vbLabelText $csharpLabel
Accéder aux données d'un fichier CSV et les afficher dans la console
Conversion d'un fichier CSV au format Excel
La procédure est simple : chargement d'un fichier CSV et enregistrement dans un fichier Excel.
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
$vbLabelText $csharpLabel
Lire et manipuler des fichiers CSV convertis à l'aide d'IronXL
La classe IronXL WorkBook représente une feuille Excel et utilise cette classe pour ouvrir un fichier Excel en C#. Les exemples de code ci-dessous chargeront le fichier Excel souhaité dans un objet WorkBook :
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
$vbLabelText $csharpLabel
les objets WorkSheet se retrouvent dans de nombreux WorkBooks. Il s'agit des feuilles de calcul du document Excel. Si le classeur contient des feuilles de travail, vous pouvez les obtenir par leur nom en procédant comme suit :
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
$vbLabelText $csharpLabel
Code pour la lecture des valeurs des cellules :
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText $csharpLabel
L'exemple de code suivant permet de mettre à jour les formules ou de les appliquer à des cellules spécifiques après le chargement et la lecture du classeur et de la feuille de calcul. Le code est le suivant :
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()
$vbLabelText $csharpLabel
Conclusion et offre spéciale IronXL
IronXL transforme les CSV en Excel avec seulement deux lignes de code, en plus du traitement des CSV en C#.
Les licences commencent à $749 et incluent un an de support et de mises à jour gratuits.
IronPDF, IronXL, IronOCR, IronBarcode, et IronWebscraper font tous partie dela suite Iron Software. Iron Software vous permet d'acheter l'ensemble de ses outils à un prix réduit. Vous pouvez utiliser tous ces outils pour le prix de deux.
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 utiliser un analyseur CSV en C#
SUIVANT > C# Ouvrir un fichier Excel par programme (Tutoriel d'exemple de code)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier