UTILISATION D'IRONXL

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

Mise à jour mars 31, 2024
Partager:

Cet article explore 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 l'édition de fichiers Excel dans les applications C#. Il offre des performances exceptionnelles et des résultats précis. La bibliothèque soutienttous les formats de fichiers de classeurs Excelil permet de sauvegarder ou d'exporter des données dans des formats tels que XLS, XLSX, XLSM, CSV et TSV. En outre, il permet d'enregistrer ou d'exporter des données dans des formats tels que JSON, HTML, Binary, Byte Array,DataSet, ou DataTable.

Avec IronXL, les développeurs peuvent travailler avec des feuilles de calcul et des plages de cellules en toute transparence. Il permet de modifier les formules et de les recalculer facilement dans une feuille. Tri des données sur la base d'une plage, d'une colonne ou d'une ligne est simple. La bibliothèque propose des fonctions permettant de modifier les mises en page, telles quevitres de congélation, redimensionnement automatique des lignes/colonnesetajouter/supprimer des lignes/colonnes.

IronXL a égalementpermet de protéger de fichiers Excel avec des mots de passe d'utilisateur et des autorisations d'édition. Une autre caractéristique notable est la possibilité d'ajouter, de supprimer et d'extraire des images de feuilles de calcul Excel. La bibliothèque offre un large éventail de fonctions Excel, prenant en charge diversesformats de données cellulaires. Ces caractéristiques 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, ce qui élimine le besoin d'Office Interop ou d'autres dépendances. Il est compatible avec plusieurs 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 les versions ultérieures pour travailler avec les feuilles de calcul Excel.

Créer une application console

La dernière version de Visual Studio IDE est recommandée pour créer l'application. Visual Studio est l'IDE officiel pour le développement C#, et l'on suppose que vous l'avez déjà installé. Si vous n'avez pas installé Visual Studio, vous pouvez le télécharger à partir du site officiel de la Commission européenneSite web de Microsoft Visual Studio.

Suivez les étapes suivantes pour créer un nouveau projet appelé "DemoApp".

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

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

    **Nouveau projet

  2. Sélectionnez l'application console et cliquez sur Suivant

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

    **Nouveau type de projet

  3. Saisir le nom du projet

    Comment ouvrir un fichier Excel et écrire des données en C#, Figure 3 : Nouveau nom de projet

    **Nouveau nom de projet

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

    Comment ouvrir un fichier Excel et écrire des données en C#, Figure 4 : Nouveau projet Informations complémentaires

    Nouveau projet Informations complémentaires

Installer la bibliothèque IronXL

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

  1. Ouvrez Manage NuGet Packages for Solutions (Gérer les paquets NuGet pour les solutions) à partir de l'Explorateur de solutions ou des Outils.

    Comment ouvrir un fichier Excel et écrire des données en C#, Figure 5 : NuGet Package Manager

    NuGet Package Manager

  2. Recherchez la bibliothèque IronXL et sélectionnez le projet en cours. Cliquez sur installer.

    Comment ouvrir un fichier Excel et écrire des données en C#, Figure 6 : Rechercher et installer le package IronXL dans l'interface NuGet Package Manager

    Recherche et installation du paquetage IronXL dans l'interface utilisateur du gestionnaire de paquets NuGet

    Ajouter l'espace de noms suivant au début du fichier Program.cs

using IronXL;
using IronXL;
Imports IronXL
VB   C#

Ouvrir un fichier Excel existant dans C# ;

IronXL permet d'ouvrir un fichier Excel existant ou de créer un nouveau fichier Excel. Cet exemple va ouvrir un fichier existant à l'aide d'IronXL 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")
VB   C#

Sélectionnons maintenant sa première feuille de calcul. Vous pouvez sélectionner une feuille de calcul par son numéro d'index ou par son nom. La propriété DefaultWorkSheet peut aider à obtenir la première feuille.

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

// Select worksheet by name 
WorkSheet ws = wb.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 = wb.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 = wb.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
VB   C#

Le code ci-dessus récupère la première feuille du classeur Excel. Pour créer un nouveau fichier Excel avec des données, voir cecipage d'exemple de code.

Maintenant, écrivons des données dans le fichier Excel à l'aide de la bibliothèque d'objets IronXL.

Écriture des données dans un fichier Excel en C# ;

L'écriture de données dans un fichier Excel à l'aide d'IronXL est très facile. Il existe plusieurs façons de l'archiver, 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"
VB   C#

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.

workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
VB   C#

Nous pouvons également remplir la plage avec une boucle for, ce qui la rend dynamique. Le code est le suivant :

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

    //write the Dynamic value in another row
    ws ["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 one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["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 one row
	workSheet ("C" & i).Value = "Value: " & i

	'write the Dynamic value in another row
	ws ("D" & i).Value = "Value: " & i
Next i
VB   C#

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

workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ("D5").Replace("Value: 5", "Replaced Value")
VB   C#

Enregistrer un fichier Excel en C# ;

Cette section explique comment enregistrer le fichier Excel contenant le nouveau contenu.

workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
VB   C#

Le code est le suivant :

using System;
using IronXL;

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";

    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 one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;

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";

    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 one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL

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"

	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 one row
		workSheet ("C" & i).Value = "Value: " & i

		'write the Dynamic value in another row
		workSheet ("D" & i).Value = "Value: " & i
	Next i

	workSheet ("D5").Replace("Value: 5", "Replaced Value")

	workBook.SaveAs("sample.xlsx")
	Console.WriteLine("successfully written in Excel File")
End Sub
VB   C#

Pour plus d'informations sur la lecture des données d'un fichier Excel en C#, consultez le site suivantcet exemple.

Sortie

Le résultat du fichier est le suivant :

Comment ouvrir un fichier Excel et écrire des données en C#, Figure 7 : Le fichier Excel de sortie

Le fichier Excel de sortie

Résumé

Cet article a montré comment écrire des données dans des fichiers Excel en C# à l'aide d'IronXL. IronXL permet de travailler avec des fichiers Excel existants sans aucun problème. Il permet également de créer de nouveaux fichiers Excel et d'y écrire des données avec 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 procéder comme suitpage d'exemple de code.

IronXL est gratuit pour le développement et peut faire l'objet d'une licence pour un usage commercial. Vous pouvez également essayer gratuitement IronXLprocès à des fins commerciales.

< PRÉCÉDENT
Comment désactiver la vue protégée dans Excel à l'aide de C#
SUIVANT >
Comment exporter des données volumineuses d'un tableau de données vers Excel en C#