Comment modifier un fichier Excel en C#

Modifier un fichier Excel en C

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

Les développeurs doivent être prudents lorsqu'ils modifient des fichiers Excel en C#, car une seule erreur peut facilement altérer l'intégralité du document. Le fait de pouvoir s'appuyer sur des lignes de code simples et efficaces contribue à réduire le risque d'erreur et nous facilite la modification ou la suppression de fichiers Excel par programmation. Aujourd'hui, nous allons passer en revue les étapes nécessaires pour modifier correctement et rapidement des fichiers Excel en C# à l'aide de fonctions testées.

Démarrage rapide : Modifier la valeur d'une cellule spécifique avec IronXL

Cet exemple montre à quel point il est facile de charger un fichier Excel existant, de mettre à jour une seule cellule et d'enregistrer les modifications à l'aide d'IronXL. Démarrez en moins de 5 lignes, aucune interopérabilité requise.

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.

    IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.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

Étape 1

1. Modification de fichiers Excel en C# à l'aide de la bibliothèque IronXL

Pour ce tutoriel, nous utiliserons les fonctions définies par IronXL, une bibliothèque Excel en C#. Pour utiliser ces fonctions, vous devrez d'abord le télécharger et l'installer dans votre projet (gratuit pour le développement).

You can either Download IronXL.zip or read more and install via the NuGet package page.

Une fois installé, commençons !


Install-Package IronXL.Excel

Remplacez xxx par le numéro de version approprié, le cas échéant.


Didacticiel de prise en main

2. Modifier les valeurs de cellules spécifiques

Nous allons tout d'abord examiner comment modifier les valeurs de cellules spécifiques d'une feuille de calcul Excel.

Pour ce faire, nous importons la feuille de calcul Excel à modifier, puis nous accédons à sa feuille de calcul. Nous pouvons alors appliquer les modifications comme indiqué ci-dessous.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs
using IronXL;

// Load the Excel workbook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Access a specific worksheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Access specific cell by identifying its row and column, then modify its value
ws.Rows[3].Columns[1].Value = "New Value";
// Save changes to the workbook
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Voici des captures d'écran avant et après du fichier Excel SpreadSheet sample.xlsx :

Avant Après
before after

Nous pouvons constater à quel point il est simple de modifier la valeur de la feuille de calcul Excel.

Si nécessaire, il existe également une autre méthode pour modifier la valeur d'une cellule spécifique par son adresse :

// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
' Alternative way to access specific cell and apply changes
ws("B4").Value = "New Value"
$vbLabelText   $csharpLabel

3. Modifier les valeurs de la ligne complète

Il est assez simple de modifier les valeurs de lignes entières d'une feuille de calcul Excel avec une valeur statique.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Voir les captures d'écran du sample.xlsx ci-dessous :

Avant Après
before after

Pour cela, nous pouvons également modifier la valeur d'une plage spécifique de la ligne, en utilisant la fonction range :

// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
' Editing a specific range of a row
ws("A3:E3").Value = "New Value"
$vbLabelText   $csharpLabel

4. Modifier les valeurs complètes de la colonne

De la même manière que ci-dessus, nous pouvons facilement modifier des colonnes entières de valeurs d'une feuille de calcul Excel à l'aide d'une seule valeur.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire column
ws.Columns[1].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ce qui générera notre feuille de calcul sample.xlsx comme suit :

Avant Après
before after

5. Modifier la ligne entière avec des valeurs dynamiques

Avec IronXL, il est également possible de modifier des lignes spécifiques avec des valeurs dynamiques. Cela signifie que nous pouvons modifier une ligne entière en attribuant des valeurs dynamiques à chaque cellule. Prenons un exemple :

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
    // Assign dynamic values to each cell in the row
    ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le tableau ci-dessous présente des captures d'écran du fichier Excel SpreadSheet sample.xlsx issu de ce résultat :

Avant Après
before after

6. Modifier la colonne entière avec des valeurs dynamiques

Il est également simple de modifier des colonnes spécifiques avec des valeurs dynamiques.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
    // Skip the first row if it's used as a header
    if (i == 0)
        continue;
    // Assign dynamic values to each cell in the column
    ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Voici les résultats du tableau sample.xlsx :

Avant Après
before after

7. Remplacer les valeurs de la feuille de calcul

Si nous voulons remplacer n'importe quel type de valeur par une valeur mise à jour dans une feuille de calcul Excel, nous pouvons utiliser la fonction nommée Replace . Grâce à cette fonction, nous pouvons remplacer les données d'une feuille de calcul Excel dans toutes les situations nécessaires.

7.1. Remplacer la valeur spécifique de la feuille de calcul complète

Pour remplacer une valeur spécifique d'une feuille de calcul Excel complète par une valeur mise à jour, il suffit d'accéder à la feuille de calcul ws (comme dans les exemples ci-dessus) et d'appliquer la fonction Replace comme ceci.

// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
' Replace a specific value in the entire worksheet
ws.Replace("old value", "new value")
$vbLabelText   $csharpLabel

Cette fonction remplacera old value par new value dans une feuille de calcul Excel complète.

N'oubliez pas d'enregistrer le fichier après chaque modification, comme indiqué dans les exemples ci-dessus.

7.2. Remplacer les valeurs d'une ligne spécifique

Si vous souhaitez uniquement modifier une ligne spécifique au lieu de la feuille de calcul entière, utilisez ce code.

// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
' Replace a specific value in a specific row
ws.Rows(2).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Le code ci-dessus remplacera old value par new value uniquement dans la ligne numéro 2 . Le reste de la feuille de calcul reste inchangé.

7.3. Remplacer les valeurs de la plage de lignes

Nous pouvons également remplacer les valeurs comprises dans une plage spécifique comme suit :

// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
' Replace specific values in a row range
ws("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Supposons que nous voulions remplacer une ancienne valeur par une nouvelle valeur, uniquement dans la plage de B4 à E4 de la ligne numéro 4 , alors nous l'écririons comme ceci :

ws["B4:E4"].Replace("old value", "new value");
ws["B4:E4"].Replace("old value", "new value");
ws("B4:E4").Replace("old value", "new value")
$vbLabelText   $csharpLabel

7.4. Remplacer les valeurs d'une colonne spécifique

Nous pouvons également remplacer les valeurs d'une colonne spécifique, le reste de la feuille de calcul restant inchangé.

// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
' Replace specific values in a column
ws.Columns(1).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Le code ci-dessus remplacera old value par new value uniquement pour la colonne numéro 1 .

7.5. Remplacer les valeurs de la plage de colonnes

De la manière suivante, nous pouvons également utiliser la fonction range pour effectuer un remplacement dans une plage d'une colonne spécifique.

// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
' Replace specific values in a column range
ws("B5:B10").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Le code ci-dessus remplacera old value par new value uniquement dans la plage de B5 à B10 pour la colonne B


8. Supprimer une ligne d'une feuille de calcul Excel

IronXL propose une fonction très simple pour supprimer une ligne spécifique d'une feuille de calcul Excel. Prenons un exemple.

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus supprimera la ligne numéro 3 du sample.xlsx comme indiqué dans le tableau suivant :

Avant Après
before after

9. Supprimer la feuille de calcul du fichier Excel

Si nous voulons supprimer une feuille de calcul entière d'un fichier Excel, nous pouvons utiliser la méthode suivante :

// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
' Remove a worksheet by its index
wb.RemoveWorkSheet(1) ' by sheet indexing
$vbLabelText   $csharpLabel

wb désigne le classeur, comme dans les exemples ci-dessus. Si nous voulons supprimer une feuille de calcul par son nom, alors :

// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
' Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
$vbLabelText   $csharpLabel

IronXL regorge de nombreuses autres fonctions grâce auxquelles nous pouvons facilement effectuer tout type d'édition et de suppression dans les feuilles de calcul Excel. N'hésitez pas à contacter notre équipe de développement si vous avez des questions concernant l'utilisation dans votre projet.


Accès rapide à la bibliothèque

Documentation de la bibliothèque IronXL

Explorez toutes les fonctionnalités de la bibliothèque IronXL C# avec ses différentes fonctions pour éditer, supprimer, mettre en forme et perfectionner vos classeurs Excel.

Documentation de la bibliothèque IronXL
Documentation related to 9. Supprimer la feuille de calcul du fichier Excel

Questions Fréquemment Posées

Comment puis-je modifier des fichiers Excel en C# sans utiliser Interop?

Vous pouvez modifier des fichiers Excel en C# sans utiliser Interop en utilisant la bibliothèque IronXL. IronXL offre une variété de méthodes pour modifier les documents Excel, telles que l'édition de cellules, de lignes et de colonnes, et même la suppression de feuilles de calcul.

Comment puis-je modifier les valeurs de cellule dans un fichier Excel en utilisant IronXL?

Pour modifier les valeurs de cellule dans un fichier Excel en utilisant IronXL, chargez le classeur Excel et accédez à la feuille de calcul spécifique. Vous pouvez changer la valeur de la cellule en spécifiant les indices de ligne et de colonne, puis en enregistrant le classeur.

Quelle est la méthode pour remplacer des valeurs dans une application Excel C#?

Dans une application Excel C#, vous pouvez remplacer des valeurs en utilisant la fonction Replace d'IronXL. Cela vous permet de remplacer des valeurs spécifiques sur l'ensemble de la feuille de calcul, dans une ligne, une colonne ou une plage particulière.

Comment puis-je supprimer une feuille de calcul d'un fichier Excel par programmation en C#?

Vous pouvez supprimer une feuille de calcul d'un fichier Excel par programmation en C# en utilisant la méthode RemoveWorkSheet d'IronXL. Vous pouvez spécifier la feuille de calcul à supprimer par son nom ou son index.

Puis-je modifier des lignes entières dans un fichier Excel en utilisant C#?

Oui, avec IronXL, vous pouvez modifier des lignes entières dans un fichier Excel en utilisant C#. Vous pouvez attribuer soit des valeurs statiques soit dynamiques aux cellules d'une ligne en parcourant les colonnes.

Est-il possible de définir une valeur statique pour une colonne entière dans un fichier Excel?

Oui, IronXL vous permet de définir une valeur statique pour une colonne entière dans un fichier Excel. Vous pouvez également utiliser des valeurs dynamiques si nécessaire, en parcourant chaque cellule de la colonne.

Comment puis-je supprimer une ligne spécifique d'une feuille de calcul Excel en utilisant C#?

Pour supprimer une ligne spécifique d'une feuille de calcul Excel en utilisant C#, utilisez la méthode RemoveRow de la bibliothèque IronXL, en spécifiant la ligne que vous souhaitez supprimer.

Quelles sont les premières étapes pour commencer à modifier des fichiers Excel en utilisant C#?

Pour commencer à modifier des fichiers Excel en utilisant C#, téléchargez et installez d'abord la bibliothèque IronXL. Ensuite, chargez votre classeur Excel, sélectionnez la feuille de calcul que vous souhaitez modifier et utilisez les fonctions d'IronXL pour modifier les cellules, les lignes, les colonnes ou les feuilles de calcul si nécessaire.

IronXL est-il adapté aux environnements de développement?

Oui, IronXL est très adapté aux environnements de développement. Il peut être utilisé librement à des fins de développement et offre une suite complète de fonctions pour éditer les fichiers Excel par programmation.

Comment puis-je convertir un fichier Excel en un format différent en utilisant C#?

IronXL permet la conversion de fichiers Excel en différents formats en utilisant ses fonctions d'exportation. Vous pouvez enregistrer votre classeur Excel modifié dans des formats tels que CSV, HTML ou PDF en utilisant les méthodes d'IronXL.

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,738,553 | Version: 2025.11 vient de sortir