Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
LoadCSV
méthode pour lire un fichier CSVExiste
en C#ToDataTable
méthodeSauvegarde
méthode d'exportation de fichiers Excel, tandis que les données CSV sont converties automatiquement en fichiers ExcelVous 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.
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
**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
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.
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
Accéder aux données d'un fichier CSV et les afficher dans la console
La procédure est simple : chargement d'un fichier CSV et enregistrement dans un fichier Excel.
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
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")
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")
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
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()
IronXL transforme les CSV en Excel avec seulement deux lignes de code, en plus du traitement des CSV en C#.
Sans interopérabilité, l'utilisation de l'API Excel d'IronXL est un jeu d'enfant. En outre, IronXL offre également un large éventail de fonctions permettant d'interagir avec le livre de travail Excel, la feuille de travail et le niveau des cellules, telles quela conversion entre les formats les plus courants, formatage des données des cellules, fusion de cellules, insertion de fonctions mathématiqueset même de gérer des graphiques et desajout d'images.
Vous pouvez lancer l'application sans filigrane en utilisantClés de licence d'essai IronXL.
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.
C'est une option qui mérite d'être explorée.
9 produits de l'API .NET pour vos documents de bureau