Un guide pour lire et écrire des fichiers Excel en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

La lecture et la création de fichiers Excel (XLS, XLSX et CSV) en C# et dans tous les autres langages .NET sont faciles grâce à la bibliothèque logicielle IronXL for .NET.

IronXL ne nécessite pas l'installation de Excel Interop sur votre serveur. IronXL offre une API plus rapide et plus intuitive que Microsoft.Office.Interop.Excel.

IronXL fonctionne sur les plateformes suivantes :

  • .NET Framework 4.6.2 et supérieur pour Windows et Azure
  • .NET Core 2 et supérieur pour Windows, Linux, MacOS et Azure
  • .NET 5, .NET 6, .NET 7, .NET 8, Mono, Maui, et Xamarin

Installer IronXL

Tout d'abord, installez IronXL en utilisant notre package NuGet ou en téléchargeant la DLL. Les classes IronXL se trouvent dans l'espace de noms IronXL.

La manière la plus simple d'installer IronXL est d'utiliser le gestionnaire de paquets NuGet pour Visual-Studio :

Le nom du package est IronXL.Excel.

Install-Package IronXL.Excel

https://www.nuget.org/packages/ironxl.excel/

Lecture d'un document Excel

Avec IronXL, extraire des données d'un fichier Excel peut se faire en quelques lignes de code.

:path=/static-assets/excel/content-code-examples/get-started/get-started-1.cs
using IronXL; // Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV WorkBook workBook = WorkBook.Load("data.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Select cells easily in Excel notation and return the calculated value, date, text or formula int cellValue = workSheet["A2"].IntValue; // Read from Ranges of cells elegantly. foreach (var cell in workSheet["A2:B10"]) { Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text); }
Imports IronXL ' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV Private workBook As WorkBook = WorkBook.Load("data.xlsx") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' Select cells easily in Excel notation and return the calculated value, date, text or formula Private cellValue As Integer = workSheet("A2").IntValue ' Read from Ranges of cells elegantly. For Each cell In workSheet("A2:B10")	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text) Next cell
$vbLabelText   $csharpLabel

Création de nouveaux documents Excel

IronXL offre une interface rapide et facile pour générer des documents Excel en utilisant C# ou VB.NET.

:path=/static-assets/excel/content-code-examples/get-started/get-started-2.cs
using IronXL; // Create new Excel WorkBook document. WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX); workBook.Metadata.Author = "IronXL"; // Add a blank WorkSheet WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet"); // Add data and styles to the new worksheet workSheet["A1"].Value = "Hello World"; workSheet["A2"].Style.BottomBorder.SetColor("#ff6600"); workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double; // Save the excel file workBook.SaveAs("NewExcelFile.xlsx");
Imports IronXL ' Create new Excel WorkBook document. Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) workBook.Metadata.Author = "IronXL" ' Add a blank WorkSheet Dim workSheet As WorkSheet = workBook.CreateWorkSheet("main_sheet") ' Add data and styles to the new worksheet workSheet("A1").Value = "Hello World" workSheet("A2").Style.BottomBorder.SetColor("#ff6600") workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double ' Save the excel file workBook.SaveAs("NewExcelFile.xlsx")
$vbLabelText   $csharpLabel

Exportation en CSV, XLS, XLSX, JSON ou XML

IronXL vous permet également de sauvegarder ou d'exporter des données vers une variété de formats de tableur structurés populaires.

:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs
// Export to many formats with fluent saving workSheet.SaveAs("NewExcelFile.xls"); workSheet.SaveAs("NewExcelFile.xlsx"); workSheet.SaveAsCsv("NewExcelFile.csv"); workSheet.SaveAsJson("NewExcelFile.json"); workSheet.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving workSheet.SaveAs("NewExcelFile.xls") workSheet.SaveAs("NewExcelFile.xlsx") workSheet.SaveAsCsv("NewExcelFile.csv") workSheet.SaveAsJson("NewExcelFile.json") workSheet.SaveAsXml("NewExcelFile.xml")
$vbLabelText   $csharpLabel

Style des cellules et des plages

Vous pouvez appliquer un formatage aux cellules et plages Excel en utilisant l'objet IronXL.Range.Style.

:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs
// Set cell's value and styles workSheet["A1"].Value = "Hello World"; workSheet["A2"].Style.BottomBorder.SetColor("#ff6600"); workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
' Set cell's value and styles workSheet("A1").Value = "Hello World" workSheet("A2").Style.BottomBorder.SetColor("#ff6600") workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
$vbLabelText   $csharpLabel

Tri des gammes

Avec IronXL, vous pouvez facilement trier une plage de cellules Excel en utilisant l'objet Range.

:path=/static-assets/excel/content-code-examples/get-started/get-started-5.cs
using IronXL; WorkBook workBook = WorkBook.Load("test.xls"); WorkSheet workSheet = workBook.WorkSheets.First(); // This is how we get range from Excel worksheet Range range = workSheet["A2:A8"]; // Sort the range in the sheet range.SortAscending(); workBook.Save();
Imports IronXL Private workBook As WorkBook = WorkBook.Load("test.xls") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' This is how we get range from Excel worksheet Private range As Range = workSheet("A2:A8") ' Sort the range in the sheet range.SortAscending() workBook.Save()
$vbLabelText   $csharpLabel

Édition de formules

Modifier une formule Excel est aussi simple que d'attribuer une valeur qui commence par un signe "=". La formule sera calculée instantanément.

:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs
// Set a formula workSheet["A1"].Value = "=SUM(A2:A10)"; // Get the calculated value decimal sum = workSheet["A1"].DecimalValue;
' Set a formula workSheet("A1").Value = "=SUM(A2:A10)" ' Get the calculated value Dim sum As Decimal = workSheet("A1").DecimalValue
$vbLabelText   $csharpLabel

Pourquoi choisir IronXL ?

IronXL offre une API conviviale pour les développeurs afin de lire et écrire des documents Excel en .NET.

Il fonctionne sans nécessiter l'installation de Microsoft Excel ou d'Excel Interop sur le serveur, rendant la gestion des fichiers Excel rapide, légère et sans tracas.

Aller de l'avant

Pour explorer plus de fonctionnalités et capacités, nous vous recommandons de consulter la référence API .NET formatée de manière similaire à la documentation MSDN.