Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment importer un fichier Excel en C#

Microsoft Excel est un logiciel de tableur polyvalent qui facilite l'organisation, la présentation et l'analyse des données. Cependant, travailler avec Excel par programmation en C# peut s'avérer complexe. La bibliothèque logicielle IronXL peut être utilisée pour importer et lire des fichiers Excel en C#.

IronXL - Bibliothèque Excel

IronXL est une bibliothèque Excel .NET qui privilégie la facilité d'utilisation, la précision et la rapidité pour ses utilisateurs. Il vous permet d'importer et de lire des documents Excel, ainsi que de créer et de modifier efficacement un fichier Excel grâce à des performances ultra-rapides. Il fonctionne sans MS Office Interop. Cela signifie que même sans Excel installé, il offre toutes les fonctionnalités nécessaires à la lecture des fichiers Excel. Cela fait d'IronXL un outil puissant pour les développeurs pour importer et lire des fichiers Excel en C#.

IronXL est disponible sur toutes les plateformes telles que Windows, Linux, MacOS, Docker, Azure et AWS. Il est compatible avec l'ensemble du framework .NET. IronXL est une bibliothèque polyvalente qui peut être intégrée aux applications ASP.NET Console, Desktop et Web. Elle prend en charge différents formats de carnet de travail comme les fichiers XLS et XLSX, XSLT et XLSM, CSV, et TSV.

Quelques fonctionnalités importantes

  • Ouvrir, lire des fichiers Excel et rechercher des données à partir de différents formats de feuilles de calcul comme les fichiers XLS/CSV/TSV/XLSX.
  • Exportation de feuilles de calcul Excel aux formats XLS/XLSX/CSV/TSV/JSON.
  • Chiffrement et déchiffrement des fichiers XLSM/XLTX/XLSX avec des mots de passe.
  • Importer une feuille Excel en tant qu'objets System.Data.DataSet et System.Data.DataTable .
  • Les formules des fichiers Excel sont recalculées à chaque modification d'une feuille.
  • Paramétrage intuitif de plages de cellules avec une syntaxe facile WorkSheet["A1:B10"].
  • Triez les plages de cellules, colonnes, et lignes.
  • Mise en forme des cellules - Police, taille de police, couleur d'arrière-plan, bordure, alignement et formats de numérotation .

Comment importer un classeur Excel en C# ?

Prérequis

Pour utiliser IronXL en C# afin de lire des fichiers Excel, veuillez vous assurer que les composants suivants sont installés sur l'ordinateur :

  1. Visual Studio - C'est l'IDE officiel pour développer les applications C# .NET. Vous pouvez télécharger et installer Visual Studio depuis le site web de Microsoft .
  2. IronXL - Il s'agit de la bibliothèque qui permet de travailler avec des feuilles Excel à un emplacement donné en C#. Elle doit être installée dans un programme C# avant de l'utiliser. IronXL peut être téléchargé depuis le site web NuGet ou via la gestion des packages NuGet dans les outils Visual Studio. Vous pouvez également télécharger directement le fichier DLL .NET Excel .

Ajouter les espaces de noms nécessaires

Une fois Visual Studio et IronXL installés, référencez l'assembly IronXL pour utiliser IronXL dans le code source. Ajoutez la ligne de code suivante en haut du fichier du nouveau projet où les fonctions IronXL seront utilisées :

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Ouvrir un fichier Excel existant en C#

Les feuilles de calcul Microsoft Excel sont également appelées classeurs Excel. Chaque classeur contient plusieurs feuilles de calcul, et chaque feuille de calcul contient des cellules tabulaires avec sa valeur. Pour ouvrir et lire un fichier Excel , il convient de le charger à l'aide de la classe WorkBook et de la méthode Load présentes dans la bibliothèque IronXL. Le code se présente comme suit :

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

Cela ouvre le fichier Excel dans la variable référençant l'instance du carnet de travail. Comme il peut avoir plusieurs feuilles, il peut être utilisé pour ouvrir une feuille spécifique ou toutes à la fois. Le code suivant ouvre la première feuille de calcul stockée dans la variable d'instance " sheet " :

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

Cela ouvrira la première feuille du fichier Excel et vous pourrez alors lire et écrire des données Excel dans cette feuille.

Fichier Excel ouvert

Comment importer un fichier Excel en C# ? Figure 1 : Le fichier Excel Le fichier Excel

Lire les données du fichier Excel importé

Une fois le fichier Excel importé, il est prêt à être lu. Lire les données du fichier Excel en C# en utilisant IronXL est très simple et facile. Vous pouvez lire les valeurs des cellules Excel en mentionnant simplement le numéro de référence de la cellule.

Le code ci-dessous récupère la valeur d'une cellule avec le numéro de référence "C2" :

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

La sortie est la suivante :

Comment importer un fichier Excel en C# ? Figure 2 : Lecture d'un fichier Excel Lire Excel

Maintenant, lisons les données d'une plage de cellules dans le fichier Excel ouvert. Le code est le suivant :

// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Le code est très simple, clair, et net. La plage de cellules peut être référencée avec une syntaxe simple comme indiqué dans une boucle foreach : sheet["A2:A6"] et chaque cellule peut être parcourue pour obtenir sa valeur. Ici, vous verrez les noms dans la colonne A de la ligne 2 à la ligne 6 sur la sortie de la console :

Comment importer un fichier Excel en C# ? Figure 3 : Lecture d'une plage de cellules Lire une plage de cellules

Pour plus de détails sur la lecture et l'écriture des valeurs de cellules, consultez ce tutoriel : exemple de lecture de fichier Excel en C# .

Importer toutes les données du fichier Excel

IronXL peut être utilisé pour lire les feuilles Excel à la fois en utilisant les index des lignes et des colonnes. Les exemples de code IronXL suivants aident à obtenir toutes les données du fichier Excel dans le même format sur la sortie de la console :

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	' Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		' Get the values
		Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
$vbLabelText   $csharpLabel

Fichier de sortie

Comment importer un fichier Excel en C#, Figure 4 : La console de sortie pour lire un fichier Excel Console de sortie pour la lecture d'un fichier Excel

.

Résumé

Cet article a démontré comment importer et lire un fichier Excel en C# sans avoir installé Microsoft Excel. Elle a ensuite examiné plusieurs façons de lire les données d'une feuille de calcul Excel. IronXL aide également à créer des fichiers Excel en C# sans aucun Excel installé.

IronXL fournit une solution tout-en-un permettant d'implémenter par programmation toutes les tâches liées aux documents Microsoft Excel. Vous pouvez effectuer des calculs de formules, tri de chaînes ou de numéros, découpage et ajout, recherche et remplacement, fusionner et désassembler, enregistrer des fichiers, etc. Vous pouvez modifier les valeurs des cellules et également définir les formats de données des cellules ainsi que valider les données des feuilles de calcul. Il prend également en charge les fichiers CSV et vous permet de travailler comme avec des données Excel.

IronXL est disponible en version d'essai gratuite et peut être utilisé à des fins commerciales grâce à son pack Lite, disponible à partir de $799 uniquement.

Questions Fréquemment Posées

Comment puis-je importer et lire un fichier Excel en C# sans utiliser Interop ?

Vous pouvez importer et lire des fichiers Excel en C# en utilisant la bibliothèque IronXL. Chargez simplement le fichier Excel en utilisant WorkBook.Load("file.xlsx") pour accéder et traiter les données sans avoir besoin d'installer Microsoft Excel.

Avec quelles plateformes la bibliothèque IronXL est-elle compatible ?

IronXL est compatible avec tous les frameworks .NET et peut être utilisé sur plusieurs plateformes, y compris Windows, Linux, MacOS, Docker, Azure et AWS.

Puis-je utiliser IronXL pour éditer des fichiers Excel sans avoir Microsoft Excel installé ?

Oui, IronXL vous permet de créer et de modifier des fichiers Excel de manière programmatique en C# sans nécessiter l'installation de Microsoft Excel sur votre système.

Quels formats Excel IronXL peut-il gérer ?

IronXL supporte divers formats de fichiers Excel tels que XLS, XLSX, CSV, TSV, et bien d'autres, permettant une importation et une manipulation faciles des données.

Quelles sont les conditions préalables à l'utilisation de IronXL dans un projet C# ?

Pour utiliser IronXL, assurez-vous d'avoir Visual Studio installé. Vous pouvez ajouter IronXL à votre projet via le gestionnaire de packages NuGet ou en téléchargeant et en référant la DLL Excel .NET.

Comment puis-je charger un classeur Excel avec IronXL en C# ?

Pour charger un classeur Excel en C#, utilisez la méthode WorkBook.Load("path/to/file.xlsx") d'IronXL, qui vous permet d'ouvrir et de manipuler le classeur.

Est-il possible de gérer les formules Excel avec IronXL ?

Oui, IronXL peut traiter et recalculer les formules Excel de manière transparente chaque fois qu'une feuille est éditée, garantissant l'exactitude des calculs de données.

Comment lire les données d'une cellule spécifique en utilisant IronXL ?

Pour lire les données d'une cellule spécifique, utilisez la syntaxe IronXL comme sheet["B2"].StringValue pour obtenir la valeur de la cellule B2.

Puis-je itérer sur une plage de cellules dans une feuille Excel en utilisant IronXL ?

Oui, vous pouvez itérer sur une plage de cellules en utilisant IronXL avec une syntaxe telle que foreach (var cell in sheet["A1:C3"]) pour traiter chaque cellule individuellement.

Comment IronXL peut-il être intégré aux applications ASP.NET ?

IronXL peut être facilement intégré aux applications ASP.NET en ajoutant la bibliothèque via NuGet et en la référant dans votre projet, permettant la manipulation de fichiers Excel dans les applications web.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite