Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment ouvrir des fichiers Excel en application C# en utilisant IronXL

L'ouverture et le travail avec des fichiers Excel en C# est quelque chose auquel presque tous les développeurs .NET sont confrontés. Que vous automatisiez des rapports hebdomadaires, lisiez des importations de données, ou construisiez des outils qui génèrent des feuilles de calcul à la volée, la manière dont vous gérez les fichiers Excel peut faire une grande différence en termes de vitesse, de fiabilité et de flexibilité de déploiement.

Dans ce tutoriel, nous allons voir comment ouvrir des fichiers Excel en C# en utilisant IronXL - une bibliothèque Excel légère qui lit, édite et écrit des classeurs sans avoir besoin de Microsoft Office installé. Vous verrez à quel point il est simple de charger des données, d'accéder aux feuilles de calcul et de travailler avec des cellules de manière programmatique, le tout dans votre application C#.

Pourquoi choisir IronXL plutôt que Microsoft.Office.Interop.Excel?

Bien que Microsoft.Office.Interop.Excel ait été l'approche traditionnelle pour l'automatisation d'Excel, elle présente des limitations significatives qui font d'IronXL le choix supérieur pour les applications modernes. Microsoft lui-même recommande de ne pas utiliser Office Interop sur les serveurs;

Caractéristique

IronXL

Microsoft.Office.Interop.Excel

Installation d'Excel requise

✅ Non

❌ Oui

Support multiplateforme

✅ Windows, Linux, macOS

❌ Windows uniquement

Déploiement de serveur

✅ Entièrement pris en charge

❌ Non recommandé par Microsoft

Gestion de la mémoire

✅ Automatique

❌ Nettoyage manuel du serveur COM requis

Complexité de l'API

✅ Simple et intuitif

❌ Interfaces COM complexes

Support des formats de fichiers

✅ XLS, XLSX, CSV, TSV, JSON

⚠️ Limité aux formats Excel

IronXL élimine la dépendance à Microsoft Excel, ce qui le rend idéal pour les environnements serveur, les conteneurs Docker, et les plateformes cloud comme Azure. La bibliothèque offre une API moderne et épurée qui élimine le besoin de gérer les objets COM ou la gestion manuelle de la mémoire.

Comment installer IronXL pour .NET?

Commencer avec IronXL est simple; il peut être ajouté à votre projet en quelques minutes. Il suffit de l'installer via le gestionnaire de packages NuGet:

Install-Package IronXL.Excel

Commencez avec IronXL maintenant.
green arrow pointer

Comment ouvrir et lire des fichiers Excel en C#?

L'ouverture de fichiers Excel existants avec IronXL nécessite seulement quelques lignes de code. La bibliothèque prend en charge la lecture de divers formats Excel, y compris XLS et XLSX, comme le montre l'extrait de code suivant :

// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus démontre le chargement d'un fichier Excel dans un objet WorkBook, qui représente l'ensemble du fichier Excel. La méthode WorkBook.Load() détecte automatiquement le format de fichier (XLS, XLSX, CSV ou TSV) et le gère de manière appropriée.

Vous pouvez accéder aux feuilles de calcul soit par index soit par nom en utilisant la méthode GetWorkSheet(). Les valeurs de cellules individuelles sont accessibles via une notation entre crochets intuitive, rendant le code très lisible. Pour des scénarios plus complexes, explorez travailler avec des plages Excel et les formats de données des cellules.

Sortie

Comment ouvrir des fichiers Excel sur une application en C# en utilisant IronXL : Figure 1 - Ouverture et lecture d'un fichier Excel d'exemple

Comment créer de nouveaux classeurs Excel?

Créer de nouveaux fichiers Excel est tout aussi simple avec les capacités de création de feuilles de calcul d'IronXL :

// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");
// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dans cet exemple de code, la méthode WorkBook.Create() initialise un nouveau classeur avec le format que vous avez spécifié. Vous pouvez ajouter plusieurs feuilles de calcul avec CreateWorkSheet(), remplir des cellules spécifiques dans les lignes et colonnes de votre Excel avec divers types de données, et appliquer des styles de formatage. La bibliothèque gère automatiquement la conversion des types de données et les exigences de formatage spécifiques à Excel. En savoir plus sur les formules Excel en C# pour des calculs avancés.

Sortie

Comment ouvrir des fichiers Excel sur une application en C# en utilisant IronXL : Figure 2 - Création de nouveaux classeurs Excel

Comment lire et traiter les données de feuilles de calcul Excel?

IronXL excelle dans l'extraction et le traitement des données:

// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");
// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ici, nous utilisons le même processus pour ouvrir notre fichier Excel dans le projet. La syntaxe de sélection de plage (sheet["A1:D5"]) offre une manière élégante de travailler avec plusieurs cellules. La méthode ToDataTable() convertit les données de la feuille de calcul en DataTable, permettant l'intégration avec des bases de données et des scénarios de liaison de données. IronXL supporte également les fonctions d'agrégation, telles que Sum(), Average(), et Max(), directement sur les plages. Pour gérer de plus grands ensembles de données, voir la documentation API complète.

Comment ouvrir des fichiers Excel sur une application en C# en utilisant IronXL : Figure 3 - Sortie des données Excel traitées

Travailler sans Microsoft Office

L'une des plus grandes forces d'IronXL est sa capacité à fonctionner indépendamment de Microsoft Office. Cette capacité ouvre nombreuses scénarios de déploiement :

  • Déploiement Cloud : S'exécuter sur Azure, AWS ou Google Cloud sans soucis de licence
  • Conteneurs Docker : Inclure dans des applications conteneurisées sans installations complexes d'Office
  • Serveurs Linux : Déployer dans des environnements Linux économiques
  • Pipelines CI/CD : Générer des rapports Excel dans des processus de construction automatisés

La bibliothèque gère toute la génération et la manipulation des fichiers Excel en interne, en utilisant son propre moteur de rendu pour assurer des résultats cohérents sur toutes les plateformes.

Conclusion

IronXL offre une solution moderne et efficace pour ouvrir et manipuler des fichiers Excel en C#. En éliminant les dépendances d'Excel et en offrant une API propre, elle simplifie le développement tout en permettant des options de déploiement plus larges. Que vous construisiez des applications de bureau, des services web ou des solutions basées sur le cloud, IronXL garantit que votre automatisation Excel fonctionne de manière fiable sur tous les environnements.

Prêt à moderniser votre automatisation Excel? Téléchargez IronXL pour un essai gratuit à partir de $liteLicense.

Questions Fréquemment Posées

Comment puis-je ouvrir des fichiers Excel en C# sans Microsoft Office?

Vous pouvez utiliser IronXL pour ouvrir des fichiers Excel en C# sans besoin de Microsoft Office. IronXL offre une alternative moderne à Interop, offrant de meilleures performances et sans dépendances à Excel.

Quels sont les avantages d'utiliser IronXL pour gérer les fichiers Excel en C#?

IronXL offre plusieurs avantages, y compris une performance améliorée, aucune dépendance sur les installations Excel, et une plus grande flexibilité de déploiement. Il permet aux développeurs d'automatiser les rapports, de lire les importations de données, et de générer des feuilles de calcul efficacement.

IronXL peut-il gérer des fichiers Excel pour des tâches d'automatisation?

Oui, IronXL est bien adapté pour les tâches d'automatisation telles que la génération de rapports hebdomadaires, la lecture des importations de données, et la création d'outils pour la génération dynamique de feuilles de calcul.

IronXL est-il un remplacement approprié pour Interop dans les applications C#?

IronXL est un remplacement approprié pour Interop, offrant une solution moderne qui élimine le besoin de dépendances Excel et améliore la performance applicative lors du travail avec des fichiers Excel.

IronXL prend-il en charge la lecture et l'écriture dans des fichiers Excel?

IronXL prend entièrement en charge la lecture et l'écriture dans des fichiers Excel, ce qui en fait un outil polyvalent pour les développeurs .NET traitant des données de feuilles de calcul.

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