Comment écrire dans des fichiers Excel en .NET avec C#

Écrire des fonctions Excel .NET en C# avec IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

Écrire des données Excel en C# à l'aide d'IronXL en accédant aux feuilles de calcul, en définissant les valeurs des cellules à l'aide d'une simple notation entre crochets et en enregistrant les modifications. La bibliothèque permet d'écrire dans des cellules ou des plages spécifiques et de remplacer des valeurs de manière programmatique sans code complexe.

Les applications C# ont souvent besoin de mettre à jour des fichiers et d'écrire de nouvelles données dans des feuilles de calcul Excel de manière programmatique. Les capacités d'IronXL .NET peuvent parfois être compliquées, mais en utilisant la bibliothèque IronXL, cette tâche est simple et permet de travailler avec des feuilles de calcul Excel dans n'importe quel format. Accédez directement à des cellules spécifiques et attribuez des valeurs personnalisées avec un minimum de code. Que vous soyez créateur de nouvelles feuilles de calcul ou éditeur de fichiers Excel existants, IronXL propose des méthodes intuitives pour tous vos besoins d'automatisation d'Excel.

Démarrage rapide : écrire une valeur dans une cellule spécifique

Cet exemple montre comment écrire une valeur dans une seule cellule à l'aide d'IronXL.Excel et enregistrer le fichier Excel en quelques lignes seulement.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Rédiger des instructions Excel .NET

  • Télécharger la bibliothèque pour Excel .NET
  • Écrire des valeurs dans des cellules spécifiques
  • Écrire des valeurs statiques dans plusieurs cellules
  • Écrire des valeurs dynamiques dans une plage de cellules
  • Remplacer les valeurs de cellules dans une ligne, colonne, plage spécifique, et plus
How To Work related to Écrire des fonctions Excel .NET en C# avec IronXL

Comment accéder aux fichiers Excel?

Commencez par accéder au fichier Excel dans lequel vous souhaitez écrire des données. Ouvrez le fichier Excel dans votre projet, puis ouvrez sa feuille de calcul spécifique à l'aide du code suivant.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs
// Load Excel file in the project
WorkBook workBook = WorkBook.Load("path");
' Load Excel file in the project
Dim workBook As WorkBook = WorkBook.Load("path")
$vbLabelText   $csharpLabel

La procédure ci-dessus permet d'ouvrir le fichier Excel spécifié. Accédez ensuite à la feuille de calcul.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs
// Open Excel WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
' Open Excel WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

La feuille de calcul Excel s'ouvre dans feuille de travail et vous pouvez l'utiliser pour écrire n'importe quel type de données dans le fichier Excel. Apprenez-en plus sur la manière de charger des fichiers Excel et d'accéder aux feuilles de calcul de différentes manières à l'aide des exemples du lien. Pour travailler avec plusieurs feuilles de calcul, consultez notre guide sur la gestion des feuilles de calcul qui couvre l'ajout, le renommage et la suppression de feuilles par programmation.

Remarque : N'oubliez pas d'ajouter la référence à IronXL dans votre projet et d'importer la bibliothèque en utilisant using IronXL .


Comment écrire une valeur dans une cellule spécifique?

Vous pouvez écrire dans un fichier Excel en utilisant de nombreuses méthodes différentes, mais l'approche de base utilise ExcelCell. Pour ce faire, il est possible d'accéder à n'importe quelle cellule de la feuille de calcul Excel ouverte et d'y inscrire une valeur comme suit :

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs
workSheet["Cell Address"].Value="Assign the Value";
workSheet("Cell Address").Value="Assign the Value"
$vbLabelText   $csharpLabel

Voici un exemple d'utilisation de la fonction ci-dessus pour écrire dans une cellule Excel dans votre projet C#.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

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

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Access A1 cell and write the value
Private workSheet("A1").Value = "new value"

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Ce code écrit nouvelle valeur dans la cellule A1 de la feuille de calcul Feuille1 du fichier Excel sample.xlsx. De la même manière, vous pouvez insérer des valeurs dans n'importe quelle adresse de cellule d'un fichier Excel. Pour les options de formatage plus avancées, telles que la définition des polices et des tailles de cellules ou l'application des couleurs et des motifs d'arrière-plan, IronXL offre des capacités de stylisme complètes.

Remarque : N'oubliez pas d'enregistrer le fichier Excel après avoir saisi de nouvelles valeurs dans la feuille de calcul, comme indiqué dans l'exemple ci-dessus.

Pourquoi forcer l'attribution de valeurs exactes?

Lors de la définition de la propriété Value, IronXL tente de la convertir en son type de valeur correspondant. Parfois, cette évaluation n'est pas souhaitable car vous voulez assigner de force la valeur exacte à la cellule sans conversion. Pour ce faire, assignez la valeur sous forme de chaîne de caractères. Dans IronXL, il suffit d'utiliser StringValue au lieu de Value pour obtenir le même résultat.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
$vbLabelText   $csharpLabel

Comment écrire des valeurs statiques dans une plage?

Vous pouvez écrire de nouvelles valeurs dans plusieurs cellules, appelées plages, comme suit :

// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
' Assign a static value to a range of cells
worksheet("B2:C5").Value = "static value"
$vbLabelText   $csharpLabel

De cette façon, vous spécifiez la plage de cellules From à To où les données seront écrites. La nouvelle valeur sera écrite dans toutes les cellules de cette plage. Pour en savoir plus sur les plages Excel en C# , consultez les exemples ici.

Voyez comment rédiger une gamme en action à l'aide de l'exemple ci-dessous.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range row wise and write new value
workSheet["B2:B9"].Value = "new value";

// Specify range column wise and write new value
workSheet["C3:C7"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range row wise and write new value
Private workSheet("B2:B9").Value = "new value"

' Specify range column wise and write new value
Private workSheet("C3:C7").Value = "new value"

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Ce code écrit nouvelle valeur de B2 à C5 dans la feuille de calcul Feuille1 du fichier Excel sample.xlsx. Il utilise des valeurs statiques pour les cellules Excel.


Comment écrire des valeurs dynamiques dans une plage?

Vous pouvez également ajouter des valeurs dynamiques à une plage, comme indiqué ci-dessous. Ces outils sont particulièrement utiles lorsqu'il s'agit de renseigner des données à partir d'une base de données ou de générer des rapports. Vous pouvez également explorer l'importation et l'exportation en tant que DataSet pour des opérations de données plus complexes.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range in which we want to write the values
for (int i = 2; i <= 7; i++)
{
    // Write the Dynamic value in one row
    workSheet["B" + i].Value = "Value" + i;

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

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range in which we want to write the values
For i As Integer = 2 To 7
	' Write the Dynamic value in one row
	workSheet("B" & i).Value = "Value" & i

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

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Le code ci-dessus écrit des valeurs dynamiques dans les colonnes B de 2 à 7 dans le fichier Excel sample.xlsx. Vous pouvez voir le résultat du code sur sample.xlsx.

Feuille de calcul présentant deux plages B2:B7 et D2:D7 en surbrillance, alimentées par les valeurs 2 à 7

Comment remplacer les valeurs des cellules Excel?

En utilisant IronXL, vous pouvez facilement écrire une nouvelle valeur pour remplacer l'ancienne, en utilisant la fonction Replace() comme suit :

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs
workSheet.Replace("old value", "new value");
workSheet.Replace("old value", "new value")
$vbLabelText   $csharpLabel

La fonction ci-dessus écrit nouvelle valeur en remplaçant l'ancienne valeur dans la feuille de calcul Excel complète.

Comment remplacer les valeurs d'une ligne spécifique?

Si vous souhaitez écrire une nouvelle valeur uniquement dans une ligne spécifique, procédez comme suit :

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs
workSheet.Rows[RowIndex].Replace("old value", "new value");
workSheet.Rows(RowIndex).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Ceci écrit la nouvelle valeur sur l'ancienne valeur uniquement dans l'index de ligne spécifié.

Comment remplacer des valeurs dans une colonne spécifique?

De même, si vous souhaitez écrire nouvelle valeur par-dessus l'ancienne valeur dans une colonne spécifique, procédez comme suit :

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs
workSheet.Columns[ColumnIndex].Replace("old value", "new Value");
workSheet.Columns(ColumnIndex).Replace("old value", "new Value")
$vbLabelText   $csharpLabel

Le code ci-dessus écrit nouvelle valeur pour remplacer l'ancienne valeur, mais uniquement dans l'index de colonne spécifié. Le reste de la feuille de travail reste inchangé.

Comment remplacer des valeurs dans une plage spécifique?

IronXL offre également la possibilité d'écrire une new value en remplacement de l' old value , uniquement dans une plage spécifiée. Cela s'avère utile lorsque vous travaillez avec des régions de données spécifiques ou lorsque vous devez mettre à jour des valeurs dans une section particulière de votre feuille de calcul. Pour des opérations plus avancées sur les plages, consultez notre guide sur le tri des plages de cellules.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs
workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value");
workSheet("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Ceci écrit nouvelle valeur sur ancienne valeur, uniquement dans les cellules situées dans la plage spécifiée.

Voir l'exemple d'utilisation de toutes les fonctions ci-dessus pour écrire de nouvelles valeurs en remplacement d'anciennes valeurs dans une feuille de calcul Excel.

À quoi ressemble un exemple de remplacement complet?

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Write new above old in complete WorkSheet
workSheet.Replace("old", "new");

// Write new above old just in row no 6 of WorkSheet
workSheet.Rows[5].Replace("old", "new");

// Write new above old just in column no 5 of WorkSheet
workSheet.Columns[4].Replace("old", "new");

// Write new above old just from A5 to H5 of WorkSheet
workSheet["A5:H5"].Replace("old", "new");

workBook.SaveAs("sample.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Write new above old in complete WorkSheet
workSheet.Replace("old", "new")

' Write new above old just in row no 6 of WorkSheet
workSheet.Rows(5).Replace("old", "new")

' Write new above old just in column no 5 of WorkSheet
workSheet.Columns(4).Replace("old", "new")

' Write new above old just from A5 to H5 of WorkSheet
workSheet("A5:H5").Replace("old", "new")

workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Pour plus d'informations sur la façon d'écrire des applications Excel .NET et plus encore, consultez notre tutoriel complet sur la façon d'ouvrir et d'écrire des fichiers Excel en C# . Si vous travaillez avec différents formats de fichiers, notre guide sur la conversion des types de fichiers de feuilles de calcul pourrait vous être utile.


Accès rapide au tutoriel

Consultez la documentation de l'API.

Consultez la documentation d'IronXL, notamment la liste de toutes les fonctions, fonctionnalités, espaces de noms, classes et énumérations disponibles dans la bibliothèque.

Consultez la documentation de l'API.
Documentation related to Accès rapide au tutoriel

Questions Fréquemment Posées

Comment écrire une valeur dans une cellule spécifique d'un fichier Excel à l'aide de C# ?

Avec IronXL, vous pouvez écrire dans une cellule spécifique en y accédant simplement avec la notation entre crochets et en définissant sa propriété Valeur. Par exemple : worksheet["A1"].Value = "Hello, IronXL !"; puis enregistrez le classeur avec workbook.SaveAs("output.xlsx"). Cette approche simple élimine le besoin d'un code d'interopérabilité Excel complexe.

Quelle est la première étape pour écrire des données dans un fichier Excel par programmation ?

La première étape consiste à charger votre fichier Excel à l'aide de la méthode IronXL.Load(), puis à accéder à la feuille de calcul spécifique où vous souhaitez écrire des données. IronXL rend cela simple grâce à des méthodes intuitives qui vous permettent d'ouvrir n'importe quel format Excel et de commencer immédiatement à travailler avec des cellules et des plages.

Puis-je écrire des données dans plusieurs cellules à la fois dans Excel ?

Oui, IronXL permet d'écrire efficacement dans plusieurs cellules. Vous pouvez écrire des valeurs statiques dans plusieurs cellules spécifiques individuellement, ou utiliser des plages de cellules pour écrire des valeurs dynamiques dans plusieurs cellules de manière programmatique. La bibliothèque fournit des méthodes pour les opérations sur une seule cellule et pour l'écriture de données en masse.

Comment remplacer les valeurs d'une cellule existante dans une feuille de calcul Excel ?

IronXL vous permet de remplacer les valeurs des cellules en accédant simplement à la cellule et en lui attribuant une nouvelle valeur. Vous pouvez remplacer des valeurs dans des lignes, des colonnes ou des plages spécifiques. La bibliothèque gère automatiquement l'écrasement des données existantes lorsque vous attribuez de nouvelles valeurs aux cellules.

Quels sont les formats de fichiers Excel pris en charge pour l'écriture des données ?

IronXL prend en charge l'écriture dans tous les principaux formats de fichiers Excel, notamment les fichiers .xlsx, .xls, .xlsm et CSV. La bibliothèque gère automatiquement les exigences spécifiques au format, ce qui vous permet de travailler avec des feuilles de calcul Excel dans n'importe quel format sans modifier votre approche du code.

Dois-je installer Microsoft Excel pour écrire des fichiers Excel en C# ?

Non, IronXL fonctionne de manière indépendante, sans nécessiter d'interopérabilité avec Microsoft Excel ou Office. Il s'agit d'une bibliothèque .NET autonome qui peut lire, écrire et créer des fichiers Excel par programmation sur n'importe quel système, ce qui la rend parfaite pour les applications serveur et les environnements où Excel n'est pas installé.

Comment enregistrer des modifications après avoir écrit des données dans un fichier Excel ?

Après avoir écrit des données dans les cellules, enregistrez vos modifications à l'aide de la méthode SaveAs() d'IronXL pour créer un nouveau fichier, ou Save() pour écraser le fichier existant. La bibliothèque s'assure que toutes les mises à jour des cellules, le formatage et les formules sont correctement sauvegardés dans le format de fichier Excel que vous avez spécifié.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,765,830 | Version : 2025.12 vient de sortir