Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment ouvrir un fichier Excel et écrire des données en C#

Cet article explorera la bibliothèque IronXL pour démontrer comment ouvrir un fichier Microsoft Excel et y écrire des données dans une application console C#.

IronXL - Une bibliothèque Excel

IronXL est une bibliothèque Excel .NET qui facilite la création, la lecture et la modification de fichiers Excel dans les applications C#. Il offre des performances exceptionnelles et une précision de sortie optimale. La bibliothèque prend en charge tous les formats de fichiers de classeurs Excel , notamment XLS, XLSX, XLSM, CSV et TSV. De plus, elle permet d'enregistrer ou d'exporter des données dans des formats tels que JSON, HTML, binaire, tableau d'octets, DataSet ou DataTable .

Avec IronXL, les développeurs peuvent travailler en toute transparence avec les feuilles de calcul et les plages de cellules. Il offre la possibilité de modifier les formules et de les recalculer facilement au sein d'une feuille de calcul. Le tri des données en fonction de la plage, de la colonne ou de la ligne est simple. La bibliothèque offre des fonctionnalités permettant de modifier les mises en page, telles que le gel des volets , le dimensionnement automatique des lignes/colonnes et l'ajout/la suppression de lignes/colonnes .

IronXL permet également de protéger les fichiers Excel par des mots de passe utilisateur et des autorisations de modification. Une autre fonctionnalité notable est la possibilité d'ajouter, de supprimer et d'extraire des images à partir de feuilles de calcul Excel. La bibliothèque offre un large éventail de fonctions Excel, prenant en charge différents formats de données cellulaires . Ces fonctionnalités font d'IronXL l'une des API les plus conviviales pour travailler avec des fichiers Excel.

L'un des principaux avantages d'IronXL est qu'il ne nécessite pas l'installation de Microsoft Excel sur la machine, éliminant ainsi le besoin d'Office Interop ou de toute autre dépendance. Il est compatible avec de multiples plateformes et prend en charge .NET 7, 6 et 5. Il est également compatible avec .NET Core 2 et 3, ainsi qu'avec .NET Framework 4.5 et versions ultérieures pour l'utilisation avec les feuilles de calcul Excel.

Créer une application console

Il est recommandé d'utiliser la dernière version de l'IDE Visual Studio pour créer l'application. Visual Studio est l'environnement de développement intégré (IDE) officiel pour le développement C#, et il est supposé que vous l'avez déjà installé. Si vous n'avez pas installé Visual Studio, vous pouvez le télécharger depuis le site Web officiel de Microsoft Visual Studio .

Suivez ces étapes pour créer un nouveau projet nommé " DemoApp ".

  1. Ouvrez Visual Studio et cliquez sur Créer un nouveau projet

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 1 : Nouveau projet Nouveau projet

  1. Sélectionnez Application console et cliquez sur Suivant

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 2 : Nouveau type de projet Nouveau type de projet

  1. Saisissez le nom du projet

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 3 : Nom du nouveau projet Nouveau nom de projet

  1. Sélectionnez la version .NET. Choisissez la version stable .NET 6.0.

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 4 : Informations complémentaires sur le nouveau projet Informations complémentaires sur le nouveau projet

Installer la bibliothèque IronXL

Une fois le projet créé, la bibliothèque IronXL doit être installée dans le projet pour pouvoir l'utiliser. Suivez ces étapes pour l'installer.

  1. Ouvrez " Gérer les packages NuGet pour les solutions " depuis l'Explorateur de solutions ou Outils.

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 5 : Gestionnaire de packages NuGet Gestionnaire de packages NuGet

  1. Recherchez la bibliothèque IronXL et sélectionnez le projet actuel. Cliquez sur installer.

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 6 : Recherche et installation du package IronXL dans l'interface utilisateur du gestionnaire de packages NuGet Recherche et installation du package IronXL dans l'interface utilisateur du gestionnaire de packages NuGet

Ajoutez l'espace de noms suivant en haut du fichier Program.cs

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

Ouvrir un fichier Excel existant en C

IronXL permet d'ouvrir un fichier Excel existant ou d'en créer un nouveau. Cet exemple illustre l'ouverture d'un fichier existant à l'aide d'IronXL en C#.

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
$vbLabelText   $csharpLabel

Maintenant, sélectionnons sa première feuille de calcul. Vous pouvez sélectionner une feuille de calcul par numéro d'index ou par nom. La propriété DefaultWorkSheet peut permettre d'obtenir la première feuille.

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)

' Select worksheet by name 
Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
$vbLabelText   $csharpLabel

Le code ci-dessus extrait la première feuille du classeur Excel. Pour créer un nouveau fichier Excel contenant des données, consultez cette page d'exemples de code .

À présent, écrivons des données dans le fichier Excel en utilisant la bibliothèque d'objets IronXL.

Écrire des données dans un fichier Excel en C

Écrire des données dans un fichier Excel avec IronXL est très facile. Il existe plusieurs façons d'y parvenir, mais la méthode la plus simple consiste à utiliser la référence de cellule Excel.

// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"
$vbLabelText   $csharpLabel

Il est également possible d'écrire des données dans une plage de cellules. Le code suivant écrit les données des cellules B1 à B5.

// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
$vbLabelText   $csharpLabel

On peut également remplir la plage avec une boucle for , la rendant ainsi dynamique. Le code se présente comme suit :

// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
' Specify range in which we want to write the values
For i As Integer = 1 To 5
	' Write the Dynamic value in column C
	workSheet("C" & i).Value = "Value: " & i

	' Write the Dynamic value in column D
	workSheet("D" & i).Value = "Value: " & i
Next i
$vbLabelText   $csharpLabel

Une autre façon d'écrire des données dans un fichier Excel consiste à utiliser la méthode Replace .

// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
$vbLabelText   $csharpLabel

Enregistrer un fichier Excel en C

Cette section explique comment enregistrer le fichier Excel avec le nouveau contenu ajouté.

// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Le code complet se présente comme suit :

using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

        // Access A1 cell and write the value
        workSheet["A1"].Value = "Value using cell reference";

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

        // Access A1 cell and write the value
        workSheet["A1"].Value = "Value using cell reference";

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
Imports System
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
		Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

		' Select worksheet at index 0
		Dim workSheet As WorkSheet = workBook.WorkSheets(0)

		' Access A1 cell and write the value
		workSheet("A1").Value = "Value using cell reference"

		' Write the same value to cells from B1 to B5
		workSheet("B1:B5").Value = "Range value"

		' Specify range in which we want to write the values
		For i As Integer = 1 To 5
			' Write the Dynamic value in column C
			workSheet("C" & i).Value = "Value: " & i

			' Write the Dynamic value in column D
			workSheet("D" & i).Value = "Value: " & i
		Next i

		' Replace the value in cell D5
		workSheet("D5").Replace("Value: 5", "Replaced Value")

		' Save the updated Excel workbook to a file
		workBook.SaveAs("sample.xlsx")
		Console.WriteLine("Successfully written to Excel File")
	End Sub
End Class
$vbLabelText   $csharpLabel

Pour plus d'informations sur la façon de lire les données d'un fichier Excel en C#, consultez cet exemple .

Sortie

Le résultat du fichier est :

Comment ouvrir un fichier Excel et y écrire des données en C# ? Figure 7 : Le fichier Excel généré Le fichier Excel de sortie

Résumé

Cet article a démontré comment écrire des données dans des fichiers Excel en C# à l'aide d'IronXL. IronXL offre la possibilité de travailler sans aucun problème avec les fichiers Excel existants. Il vous permet également de créer de nouveaux fichiers Excel et d'y écrire des données grâce à une syntaxe simple. IronXL peut également être utilisé pour lire des fichiers Excel sans que l'application Microsoft Excel soit installée. Pour lire des données à partir de fichiers Excel, vous pouvez consulter cette page d'exemple de code .

IronXL est gratuit pour le développement et peut être utilisé sous licence à des fins commerciales. Vous pouvez également essayer la version d'essai gratuite d'IronXL pour un usage commercial.

Questions Fréquemment Posées

Comment puis-je ouvrir un fichier Excel en C# sans utiliser Interop ?

Vous pouvez ouvrir un fichier Excel en C# sans utiliser Interop en utilisant la bibliothèque IronXL. IronXL vous permet de gérer efficacement les fichiers Excel sans avoir besoin d'installer Microsoft Excel, améliorant la performance et la compatibilité.

Comment écrire des données dans une cellule spécifique d'un fichier Excel en utilisant C# ?

En utilisant IronXL, vous pouvez écrire des données dans une cellule spécifique d'un fichier Excel en accédant au classeur, en sélectionnant la feuille de calcul, puis en utilisant des références de cellules pour assigner des valeurs aux cellules souhaitées.

Quels sont les avantages d'utiliser IronXL par rapport à Office Interop pour la manipulation de fichiers Excel ?

IronXL offre plusieurs avantages par rapport à Office Interop, notamment l'absence de dépendance à l'installation de Microsoft Excel, une meilleure performance, une compatibilité multiplateforme, et la prise en charge de divers formats de fichiers Excel comme XLS, XLSX et CSV.

Puis-je éditer des formules dans des fichiers Excel en utilisant cette bibliothèque ?

Oui, IronXL vous permet d'éditer des formules dans des fichiers Excel. Vous pouvez manipuler des formules existantes ou insérer de nouvelles en utilisant une syntaxe simple, que la bibliothèque traite efficacement.

Comment IronXL prend-il en charge différents formats de fichiers Excel ?

IronXL prend en charge plusieurs formats de fichiers Excel tels que XLS, XLSX, XLSM, CSV et TSV, vous permettant de créer, lire et éditer ces fichiers sans effort dans une application C#.

Est-il possible de protéger un fichier Excel en utilisant IronXL ?

Oui, IronXL offre une fonctionnalité pour protéger les fichiers Excel en définissant des mots de passe et des autorisations utilisateur, garantissant la sécurité des données et un accès contrôlé.

Comment puis-je intégrer la bibliothèque IronXL dans mon projet C# ?

Pour intégrer IronXL dans votre projet C#, vous pouvez utiliser le Gestionnaire de packages NuGet dans Visual Studio. Recherchez IronXL, et ajoutez-le à votre projet pour commencer à utiliser ses fonctionnalités.

Quelles plateformes sont prises en charge par IronXL ?

IronXL prend en charge plusieurs plateformes, y compris .NET 5, 6 et 7, ainsi que .NET Core et Framework, ce qui en fait un choix polyvalent pour divers environnements de développement.

Puis-je utiliser IronXL gratuitement ?

IronXL est gratuit à des fins de développement. Cependant, pour une utilisation commerciale, une licence est requise. Un essai gratuit est disponible pour tester les fonctionnalités de la bibliothèque dans un environnement commercial.

Comment puis-je exporter des données Excel au format JSON en utilisant IronXL ?

IronXL vous permet d'exporter des données Excel au format JSON en convertissant la feuille de calcul ou des plages de données spécifiques en chaînes JSON, qui peuvent ensuite être utilisées dans des applications nécessitant des données JSON.

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