UTILISATION D'IRONXL

Générer des fichiers Excel en C#

Regan Pun
Regan Pun
octobre 6, 2020
Mise à jour décembre 20, 2023
Partager:

Les applications que nous développons communiquent constamment avec des feuilles de calcul Excel afin d'obtenir des données pour l'évaluation et les résultats. Il est vraiment utile de pouvoir générer des fichiers Excel en C# de manière programmatique, ce qui nous permet d'économiser du temps et des efforts dans notre développement. Dans ce tutoriel, nous apprendrons à générer des fichiers Excel dans différents formats, à définir des styles de cellules et à insérer des données à l'aide d'une fonction efficace de programmation en C#.


Étape 1

1. Générer des fichiers Excel avec IronXL

Générez des fichiers Excel à l'aide de la bibliothèque IronXL Excel for C#, qui fournit une série de fonctions permettant de générer et de manipuler des données dans votre projet. La bibliothèque est gratuite pour le développement, avec des licences disponibles lorsque vous êtes prêt à passer en production. Pour suivre ce tutoriel, vous pouvez télécharger IronXL pour générer ou y accéder via Visual Studio et la galerie NuGet.

Install-Package IronXL.Excel

Comment faire Tutoriel

2. C# ; Aperçu du générateur de fichiers Excel

Dans le cadre du développement d'applications commerciales, il est souvent nécessaire de générer différents types de fichiers Excel par programme. Pour ce faire, nous avons besoin de la méthode la plus simple et la plus rapide pour générer différents types de fichiers et les enregistrer automatiquement à l'emplacement requis.

Après avoir installé IronXL, nous pouvons utiliser les fonctions pour générer différents types de fichiers Excel :

  • Fichier Excel avec l'extension .xlsx.
  • Fichier Excel avec l'extension .xls.
  • Fichiers Valeur Séparée par des Virgules (.csv).
  • Fichiers de valeurs séparées par des tabulations (.tsv).
  • Fichiers JavaScript Object Notation (.json).
  • Fichiers Extensible Markup Language (.xml).

    Pour générer tout type de fichier, nous devons d'abord créer un Excel WorkBook.

//generate New WorkBook
WorkBook wb = WorkBook.Create();
//generate New WorkBook
WorkBook wb = WorkBook.Create();
'generate New WorkBook
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

La ligne de code ci-dessus créera un nouveau WorkBook wb, et maintenant nous allons créer un objet WorkSheet.

//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
//Generate New WorkSheet
WorkSheet ws = WorkBook.CreateWorkSheet("SheetName");
'Generate New WorkSheet
Dim ws As WorkSheet = WorkBook.CreateWorkSheet("SheetName")
$vbLabelText   $csharpLabel

Cela créera un WorkSheet ws que nous pouvons utiliser pour insérer des données dans des fichiers Excel.


3. Générer un fichier XLSX C&num ;

Tout d'abord, nous suivons les étapes ci-dessus pour générer le WorkBook et le WorkSheet.

Ensuite, nous insérons des données pour créer notre fichier d'extension .xlsx. À cet effet, IronXL offre un système d'adressage des cellules qui nous permet d'insérer des données à une adresse de cellule spécifique de manière programmée.

//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
//Insert data by cell addressing
WorkSheet ["CellAddress"].Value = "MyValue";
'Insert data by cell addressing
WorkSheet ("CellAddress").Value = "MyValue"
$vbLabelText   $csharpLabel

Il insère une nouvelle valeur appelée "MaValeur" à l'adresse d'une cellule spécifique. De la même manière, nous pouvons insérer des données dans autant de cellules que nous le souhaitons. Ensuite, nous enregistrerons le fichier Excel dans le chemin spécifié comme suit :

//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
//specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx");
'specify file path and name
WorkBook.SaveAs("Path + FileName.xlsx")
$vbLabelText   $csharpLabel

Cela créera un nouveau fichier Excel avec l'extension .xlsx dans le chemin spécifié. N'oubliez pas d'écrire l'extension .xlsx avec le nom de fichier lors de l'enregistrement.

Pour aller plus loin sur la façon de créer un classeur Excel dans un projet C#, consultez les exemples de code ici.

/**
Generate XLSX File
anchor-generate-xlsx-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xlsx Extension
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //create workSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //save the file as .xlsx
    wb.SaveAs("sample.xlsx");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XLSX File
anchor-generate-xlsx-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xlsx Extension
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    //create workSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    ws ["C4"].Value = "IronXL";
    //save the file as .xlsx
    wb.SaveAs("sample.xlsx");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XLSX File
'''anchor-generate-xlsx-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook of .xlsx Extension
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
	'create workSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	ws ("C4").Value = "IronXL"
	'save the file as .xlsx
	wb.SaveAs("sample.xlsx")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

Vous pouvez voir la capture d'écran du fichier Excel nouvellement créé sample.xlsx ici :

Générer des fichiers Excel en C#, Figure 1 : Le résultat de la valeur modifiée dans la cellule C4

Le résultat de la valeur modifiée dans la cellule C4


4. Générer un fichier XLS C&num ;

Il est également possible de générer des fichiers .xls à l'aide de IronXL. À cette fin, nous utiliserons la fonction WorkBook.Create() comme suit :

WorkBook.Create(ExcelFileFormat.XLS)
WorkBook.Create(ExcelFileFormat.XLS)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

Cela créera un nouveau fichier Excel avec une extension .xls. N'oubliez pas que lors de l'attribution d'un nom à un fichier Excel, vous devez écrire l'extension .xls avec le nom du fichier, comme ceci :

WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls");
WorkBook.SaveAs("Path + FileName.xls")
$vbLabelText   $csharpLabel

Maintenant, voyons l'exemple de comment générer un fichier Excel avec l'extension .xls :

/**
Generate XLS File
anchor-generate-xls-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xls Extension 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .xls
    wb.SaveAs("sample.xls");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XLS File
anchor-generate-xls-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook of .xls Extension 
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .xls
    wb.SaveAs("sample.xls");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XLS File
'''anchor-generate-xls-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook of .xls Extension 
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .xls
	wb.SaveAs("sample.xls")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

5. Générer un fichier CSV C&num ;

Les fichiers de valeurs séparées par des virgules (.csv) jouent également un rôle très important dans la conservation des données dans différents types d'organisations. Donc, nous devons également apprendre à générer des fichiers .csv et à y insérer des données de manière programmée.

Nous pouvons utiliser le même processus que ci-dessus, mais nous devons spécifier l'extension .csv avec le nom du fichier lors de l'enregistrement. Voyons un exemple de comment créer des fichiers .csv dans notre projet C# :

/**
Generate CSV File
anchor-generate-csv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .csv
    wb.SaveAsCsv("sample.csv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate CSV File
anchor-generate-csv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .csv
    wb.SaveAsCsv("sample.csv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate CSV File
'''anchor-generate-csv-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .csv
	wb.SaveAsCsv("sample.csv")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

Pour pouvoir interagir davantage avec les fichiers CSV, vous pouvez suivre ce tutoriel pour lire un fichier .csv.


6. Générer un fichier TSV C&num ;

Parfois, nous devons générer des fichiers de valeurs séparées par des tabulations (.tsv) et insérer des données de façon programmée.

Avec IronXL, nous pouvons également générer des fichiers avec l'extension .tsv, y insérer des données, puis les enregistrer à l'emplacement requis.

Voyons l'exemple de la façon de générer un fichier avec l'extension .tsv :

/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{ 
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .tsv
    wb.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate TSV File
anchor-generate-tsv-file-c-num
**/
using IronXL;
static void Main(string [] args)
{ 
    //create new WorkBook  
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .tsv
    wb.SaveAs("sample.tsv");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate TSV File
'''anchor-generate-tsv-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook  
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .tsv
	wb.SaveAs("sample.tsv")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

7. Générer un fichier JSON C&num ;

Nous pouvons affirmer avec assurance que les fichiers JavaScript Object Notation (.json) sont les fichiers de données les plus courants et sont utilisés dans presque toutes les entreprises de développement de logiciels. C'est pourquoi nous avons souvent besoin d'enregistrer les données au format JSON. Pour cela, nous avons besoin de la méthode la plus simple pour générer des fichiers au format JSON et y insérer les données.

Dans ces conditions, IronXL est la meilleure option pour générer facilement ces fichiers pour C#. Prenons un exemple.

/**
Generate JSON File
anchor-generate-json-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "1";
    ws ["A2"].Value = "john";
    ws ["B1"].Value = "2";
    ws ["B2"].Value = "alex";
    ws ["C1"].Value = "3";
    ws ["C2"].Value = "stokes";
    //save the file as .json
    wb.SaveAsJson("sample.json");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate JSON File
anchor-generate-json-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "1";
    ws ["A2"].Value = "john";
    ws ["B1"].Value = "2";
    ws ["B2"].Value = "alex";
    ws ["C1"].Value = "3";
    ws ["C2"].Value = "stokes";
    //save the file as .json
    wb.SaveAsJson("sample.json");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate JSON File
'''anchor-generate-json-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "1"
	ws ("A2").Value = "john"
	ws ("B1").Value = "2"
	ws ("B2").Value = "alex"
	ws ("C1").Value = "3"
	ws ("C2").Value = "stokes"
	'save the file as .json
	wb.SaveAsJson("sample.json")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

Et examinez la capture d'écran du fichier JSON nouvellement créé sample.json :

Générer des fichiers Excel en C#, Figure 2 : Navigation vers le Gestionnaire de Packages NuGet dans Visual Studio

Navigation vers le gestionnaire de packages NuGet dans Visual Studio


8. Générer un fichier XML C&num ;

Dans le développement d'applications commerciales, nous devons souvent enregistrer les données au format de fichier Extensible Markup Language (.xml). C'est important parce que les données des fichiers .xml sont lisibles à la fois par les humains et les machines.

À travers les exemples suivants, nous allons apprendre comment générer des fichiers .xml pour C# et insérer des données par programmation.

/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
/**
Generate XML File
anchor-generate-xml-file-c-num
**/
using IronXL;
static void Main(string [] args)
{
    //create new WorkBook 
    WorkBook wb = WorkBook.Create();
    //create WorkSheet
    WorkSheet ws = wb.CreateWorkSheet("Sheet1");
    //insert data in the cells of WorkSheet
    ws ["A1"].Value = "Hello";
    ws ["A2"].Value = "World";
    //save the file as .json
    wb.SaveAsXml("sample.xml");
    Console.WriteLine("successfully created.");
    Console.ReadKey();
}
'''
'''Generate XML File
'''anchor-generate-xml-file-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	'create new WorkBook 
	Dim wb As WorkBook = WorkBook.Create()
	'create WorkSheet
	Dim ws As WorkSheet = wb.CreateWorkSheet("Sheet1")
	'insert data in the cells of WorkSheet
	ws ("A1").Value = "Hello"
	ws ("A2").Value = "World"
	'save the file as .json
	wb.SaveAsXml("sample.xml")
	Console.WriteLine("successfully created.")
	Console.ReadKey()
End Sub
$vbLabelText   $csharpLabel

Vous pouvez en savoir plus sur la conversion de feuilles de calcul Excel et de fichiers de manière programmatique pour les utiliser dans des projets en C#.

La bibliothèque IronXL offre également une large gamme de fonctionnalités pour interagir avec les fichiers Excel telles que la mise en forme des données des cellules, la fusion de cellules, l’insertion de fonctions mathématiques, et même la gestion des graphiques.


Tutoriel Accès rapide

Documentation du générateur IronXL

Lisez la documentation complète sur la façon dont IronXL génère des fichiers dans tous les formats Excel nécessaires à votre projet C#.

Documentation du générateur IronXL
Documentation related to Tutoriel Accès rapide
Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
Créer un fichier CSV à l'aide de C#
SUIVANT >
Travailler avec Excel dans .NET Core