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)
Regan Pun
juin 29, 2022
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 packages NuGet, recherchez IronXL.Excel et installez.
Installez le package IronXL dans le gestionnaire de packages NuGet
IronXL est un excellent outil à utiliser lorsque vous avez besoin de lire des 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'objet WorkBook est créé. La méthode LoadCSV de l'objet WorkBook 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 sous forme de tableau de chaînes. Les virgules sont utilisées comme délimiteurs dans ce scénario.
Après cela, un objet WorkSheet 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 fichiers CSV présentent plusieurs problèmes concernant la gestion des sauts de ligne dans les champs et la manière dont les champs peuvent être entourés de guillemets, ce qui empêche une technique simple de séparation de chaîne de fonctionner Split("'"). Au lieu de cela, IronXL propose de personnaliser le délimiteur en utilisant le paramètre optionnel de la méthode LoadCSV, consultez la documentation de l'API de LoadCSV pour plus de détails.
C&num ; Enregistrements - Lecture de données CSV
Dans l'exemple ci-dessous, la boucle foreach est utilisée pour parcourir 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 depuis 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 WorkBook d'IronXL 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 peuvent être trouvés 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 l'IronWebscraper font tous partie de la 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. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier