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.