
Comment ouvrir des fichiers Excel en C#
IronXL permet aux développeurs C# d'ouvrir, de lire et de manipuler des fichiers Excel sans nécessiter l'installation de Microsoft Office. Chargez simplement des classeurs en utilisant WorkBook.Load(), accédez aux feuilles de calcul et lisez les valeurs des cellules avec une syntaxe intuitive comme sheet["A1"].
Ce tutoriel explore l'utilisation IronXL pour ouvrir et lire des fichiers Excel dans des projets C#, en fournissant aux développeurs juniors des exemples complets et des bonnes pratiques pour travailler avec des données Excel .
Qu'est-ce que la bibliothèque Excel IronXL ?
IronXL est une bibliothèque .NET qui privilégie la facilité d'utilisation, la précision et la rapidité. Il vous permet d'ouvrir, de lire, de créer et de modifier efficacement des fichiers Excel sans nécessiter MS Office Interop, ce qui en fait un choix pratique pour les développeurs souhaitant travailler avec Excel en C# sans Interop .
IronXL est compatible avec tous les frameworks .NET ainsi qu'avec Linux , macOS , Docker , Azure et AWS . Vous pouvez l'utiliser pour créer des applications console, web et de bureau, comme Blazor et .NET MAUI pour les applications web modernes. Il prend en charge différents formats de classeurs, tels que les fichiers XLS et XLSX, XSLT et XLSM, CSV et TSV.
Quelles sont les principales caractéristiques d' IronXL?
- Ouvrez, lisez et recherchez des données aux formats XLS/XLSX/CSV/TSV à l'aide de LoadSpreadsheets .
- Exportez vos feuilles de calcul Excel vers plusieurs formats grâce à la fonction Enregistrer et exporter .
- Chiffrez et déchiffrez des fichiers avec des mots de passe en utilisant des fonctionnalités sécurisées .
- Travaillez avec des feuilles Excel sous forme d'objets
DataSetetDataTablevia l'intégration DataSet. - Les formules Excel se recalculent automatiquement et prennent en charge les fonctions mathématiques .
- Modifiez les données des feuilles de calcul avec une syntaxe de plage intuitive comme
WorkSheet["A1:B10"]. - Trier les plages de cellules , les colonnes et les lignes .
- Mettez en forme les cellules avec la police , l'arrière-plan , la bordure , l'alignement et les formats numériques .
Comment ouvrir un fichier Excel en C# ?
De quoi ai-je besoin avant de commencer ?
Pour utiliser IronXL dans des applications C#, installez les composants suivants sur votre ordinateur local :
- Visual Studio - L'IDE officiel pour le développement d'applications C# .NET . Vous pouvez télécharger et installer Visual Studio depuis le site web de Microsoft . Vous pouvez également utiliser
JetBrainsReSharper& Rider. Pour obtenir des conseils supplémentaires sur la configuration, reportez-vous à la présentation générale " Premiers pas " . - IronXL - La bibliothèque Excel qui facilite le travail avec les feuilles Excel en C#. Il doit être installé dans votre application C# avant d'être utilisé. Vous pouvez le télécharger depuis le site web de NuGet ou depuis la section " Gérer les packages NuGet " dans Visual Studio. Vous pouvez également télécharger directement le fichier DLL .NET Excel . Pour la mise en œuvre des licences, voir Utilisation des clés de licence .
Quels espaces de noms dois-je importer ?
Une fois Visual Studio et IronXL installés, ajoutez les espaces de noms IronXL nécessaires en incluant la ligne suivante en haut de votre fichier C# :
// Add reference to the IronXL library
using IronXL;' Add reference to the IronXL library
Imports IronXLPour travailler avec des formats Excel spécifiques ou des fonctionnalités avancées, vous pourriez également avoir besoin de :
using IronXL.Formatting; // For cell styling
using IronXL.Drawing; // For images and charts
using System.Data; // For DataSet/DataTable operationsImports IronXL.Formatting ' For cell styling
Imports IronXL.Drawing ' For images and charts
Imports System.Data ' For DataSet/DataTable operationsComment charger un fichier Excel existant ?
Les fichiers Excel, également appelés classeurs, sont composés de plusieurs feuilles de calcul, chacune contenant des valeurs de cellules. Pour ouvrir et lire un fichier Excel, chargez-le en utilisant la méthode Load de la classe WorkBook. La fonctionnalité LoadSpreadsheets prend en charge différents formats.
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// You can also load from streams for web applications
// using (var stream = File.OpenRead("test.xlsx"))
// {
// WorkBook workbook = WorkBook.Load(stream);
// }' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
' You can also load from streams for web applications
' Using stream = File.OpenRead("test.xlsx")
' Dim workbook As WorkBook = WorkBook.Load(stream)
' End UsingCela initialise le classeur comme une instance de WorkBook. Pour ouvrir un WorkSheet spécifique, récupérez-le dans la collection WorkSheets. Le guide " Gérer les feuilles de calcul " fournit plus de détails sur les opérations sur les feuilles de calcul :
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Alternative ways to access worksheets
WorkSheet sheetByIndex = workbook.WorkSheets[0]; // By index
WorkSheet sheetByName = workbook.GetWorkSheet("Sheet1"); // By name' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Alternative ways to access worksheets
Dim sheetByIndex As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheetByName As WorkSheet = workbook.GetWorkSheet("Sheet1") ' By nameCeci permet d'accéder à la première feuille du fichier Excel, prête pour la lecture et l'écriture.
Fichier Excel
Comment lire les données des cellules Excel ?
Une fois le fichier Excel ouvert, il est prêt à lire les données. La lecture de données à partir de fichiers Excel en C# avec IronXL est simple. Vous pouvez lire les valeurs des cellules en spécifiant la référence de la cellule à l'aide de la fonctionnalité Sélectionner une plage .
Le code suivant récupère la valeur d'une cellule :
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;
// You can also retrieve values in different formats
string textValue = sheet["C2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
DateTime dateValue = sheet["C2"].DateTimeValue;
bool boolValue = sheet["C2"].BoolValue;
// Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}");
// Check if cell is empty before reading
if (!sheet["C2"].IsEmpty)
{
Console.WriteLine($"Cell value: {sheet["C2"].Value}");
}' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue
' You can also retrieve values in different formats
Dim textValue As String = sheet("C2").StringValue
Dim decimalValue As Decimal = sheet("C2").DecimalValue
Dim dateValue As DateTime = sheet("C2").DateTimeValue
Dim boolValue As Boolean = sheet("C2").BoolValue
' Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}")
' Check if cell is empty before reading
If Not sheet("C2").IsEmpty Then
Console.WriteLine($"Cell value: {sheet("C2").Value}")
End IfLa sortie est la suivante :
Lire Excel
Pour lire les données d'une plage de cellules, utilisez une boucle pour parcourir la plage spécifiée. L'exemple " Sélectionner une plage Excel " propose d'autres modèles :
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read an entire column
foreach (var cell in sheet.GetColumn(0)) // Column A
{
if (!cell.IsEmpty)
{
Console.WriteLine($"Column A value: {cell.Text}");
}
}
// Read an entire row
foreach (var cell in sheet.GetRow(1)) // Row 2
{
Console.WriteLine($"Row 2 value: {cell.Text}");
}' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next
' Read an entire column
For Each cell In sheet.GetColumn(0) ' Column A
If Not cell.IsEmpty Then
Console.WriteLine($"Column A value: {cell.Text}")
End If
Next
' Read an entire row
For Each cell In sheet.GetRow(1) ' Row 2
Console.WriteLine($"Row 2 value: {cell.Text}")
NextChaque valeur de la plage de cellules A2:A6 est accédée et imprimée dans la console.
Lire une plage de cellules
Pour des exemples de lecture et d'écriture plus détaillés, consultez le tutoriel de lecture Excel en C# . Vous pouvez également convertir les données Excel en DataTables pour une manipulation plus aisée :
// Convert worksheet to DataTable for easier data manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers
// Access data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"Employee: {row["Name"]}, Salary: {row["Salary"]}");
}' Convert worksheet to DataTable for easier data manipulation
Dim dataTable As DataTable = sheet.ToDataTable(True) ' True = first row contains headers
' Access data using DataTable methods
For Each row As DataRow In dataTable.Rows
Console.WriteLine($"Employee: {row("Name")}, Salary: {row("Salary")}")
NextComment créer un nouveau fichier Excel ?
IronXL facilite également la création de nouveaux classeurs pour la sauvegarde et la récupération des données. Le guide " Créer des feuilles de calcul " fournit des exemples complets.
Vous pouvez créer un nouveau fichier Excel avec une seule ligne de code :
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Alternative: Create with XLS format for compatibility
WorkBook xlsWorkBook = new WorkBook(ExcelFileFormat.XLS);
// Set workbook metadata
workBook.Metadata.Title = "Employee Data";
workBook.Metadata.Author = "Your Name";
workBook.Metadata.Keywords = "employees, salary, data";' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
' Alternative: Create with XLS format for compatibility
Dim xlsWorkBook As New WorkBook(ExcelFileFormat.XLS)
' Set workbook metadata
workBook.Metadata.Title = "Employee Data"
workBook.Metadata.Author = "Your Name"
workBook.Metadata.Keywords = "employees, salary, data"Ensuite, créez une feuille de calcul et ajoutez-y des données. Pour des modèles de création plus avancés, consultez Créer un nouveau fichier Excel .
Comment ajouter des feuilles de travail à un classeur ?
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create multiple worksheets at once
WorkSheet sheet2 = workBook.CreateWorkSheet("PopulationData");
WorkSheet sheet3 = workBook.CreateWorkSheet("Summary");
// Copy an existing worksheet
WorkSheet copiedSheet = workSheet.CopySheet("GDPByCountryCopy");' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
' Create multiple worksheets at once
Dim sheet2 As WorkSheet = workBook.CreateWorkSheet("PopulationData")
Dim sheet3 As WorkSheet = workBook.CreateWorkSheet("Summary")
' Copy an existing worksheet
Dim copiedSheet As WorkSheet = workSheet.CopySheet("GDPByCountryCopy")Ce code ajoute une feuille de calcul nommée " GDPByCountry " au classeur, vous permettant d'ajouter des valeurs aux cellules. Apprenez-en davantage sur la gestion et la copie des feuilles de calcul .
Pour définir une valeur pour une cellule spécifique, utilisez le code ci-dessous :
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Add different types of data
workSheet["A2"].Value = 12345; // Integer
workSheet["A3"].Value = 99.99m; // Decimal
workSheet["A4"].Value = DateTime.Now; // Date
workSheet["A5"].Value = true; // Boolean
// Add formulas
workSheet["B1"].Formula = "=SUM(A2:A3)";
// Set multiple cells at once using a range
workSheet["C1:C5"].Value = "Bulk Value";
// Save the workbook
workBook.SaveAs("output.xlsx");' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
' Add different types of data
workSheet("A2").Value = 12345 ' Integer
workSheet("A3").Value = 99.99D ' Decimal
workSheet("A4").Value = DateTime.Now ' Date
workSheet("A5").Value = True ' Boolean
' Add formulas
workSheet("B1").Formula = "=SUM(A2:A3)"
' Set multiple cells at once using a range
workSheet("C1:C5").Value = "Bulk Value"
' Save the workbook
workBook.SaveAs("output.xlsx")Le résultat final est :
Ajouter de la valeur à la cellule
Travailler avec différents formats Excel
IronXL prend en charge plusieurs formats Excel. Voici comment gérer différents types de fichiers :
// Convert between formats
WorkBook workbook = WorkBook.Load("data.csv");
workbook.SaveAs("data.xlsx"); // Convert CSV to XLSX
// Export to different formats
workbook.SaveAsCsv("output.csv", ";"); // CSV with semicolon delimiter
workbook.SaveAsJson("output.json"); // Export as JSON
workbook.SaveAsXml("output.xml"); // Export as XML' Convert between formats
Dim workbook As WorkBook = WorkBook.Load("data.csv")
workbook.SaveAs("data.xlsx") ' Convert CSV to XLSX
' Export to different formats
workbook.SaveAsCsv("output.csv", ";") ' CSV with semicolon delimiter
workbook.SaveAsJson("output.json") ' Export as JSON
workbook.SaveAsXml("output.xml") ' Export as XMLApprenez-en davantage sur la conversion des types de fichiers tableur et la conversion de XLSX en CSV, JSON, XML .
Gestion des erreurs et meilleures pratiques
Lors de la manipulation de fichiers Excel, mettez en œuvre une gestion des erreurs appropriée :
try
{
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
// Check if sheet exists
if (sheet == null)
{
Console.WriteLine("Worksheet not found!");
return;
}
// Process data
var value = sheet["A1"].Value;
}
catch (Exception ex)
{
Console.WriteLine($"Error reading Excel file: {ex.Message}");
}Try
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Sheet1")
' Check if sheet exists
If sheet Is Nothing Then
Console.WriteLine("Worksheet not found!")
Return
End If
' Process data
Dim value = sheet("A1").Value
Catch ex As Exception
Console.WriteLine($"Error reading Excel file: {ex.Message}")
End TryPour les applications de production, envisagez de configurer la journalisation et de mettre en œuvre des modèles de gestion des erreurs appropriés.
Qu'avons-nous appris ?
Cet article explique comment ouvrir et lire des fichiers Excel, tels que XLS et XLSX, en C# à l'aide d'IronXL. IronXL ne nécessite pas l'installation de Microsoft Excel sur le système pour les tâches liées à Excel, ce qui le rend idéal pour les déploiements Docker et les Azure Functions .
IronXL offre une solution complète pour les tâches liées à Excel par programmation, notamment le calcul de formules , le tri de chaînes de caractères, le rognage , la recherche et le remplacement, la fusion et la dissociation , l'enregistrement de fichiers , et bien plus encore. Vous pouvez également définir les formats de données des cellules, utiliser la mise en forme conditionnelle et créer des graphiques .
Pour accéder aux fonctionnalités avancées, explorez le regroupement et le dégroupement , les plages nommées , les hyperliens et la protection des fichiers Excel . La documentation complète de l'API fournit des informations détaillées sur toutes les fonctionnalités.
IronXL est disponible en essai gratuit de 30 jours et peut être utilisé sous licence à des fins commerciales. Le package Lite d'IronXL commence à partir de $999. Pour accéder à des ressources supplémentaires, consultez la section tutoriels ou explorez les exemples de code pour les scénarios courants.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.
Articles connexes



