C# ; Editer un fichier Excel
Les développeurs doivent être prudents lorsqu'ils entreprennent de modifier et d'éditer des fichiers Excel en C#, car un faux pas peut facilement modifier l'ensemble du document. Le fait de pouvoir s'appuyer sur des lignes de code simples et efficaces permet de réduire le risque d'erreur et facilite la modification ou la suppression de fichiers Excel par programmation. Aujourd'hui, nous allons parcourir les étapes nécessaires pour éditer correctement et rapidement des fichiers Excel en C# à l'aide de fonctions testées.
Comment éditer un fichier Excel en C#
- Télécharger la bibliothèque C# d'édition d'Excel
- Modifier des valeurs de cellules spécifiques
- Modifier les valeurs d'une ligne complète d'une feuille de calcul Excel avec une valeur statique
- Modifier des colonnes entières de feuilles de calcul Excel à l'aide d'une seule valeur
- Modifier une ligne complète avec des valeurs dynamiques
- Remplacer les valeurs d'une feuille de calcul
- Supprimer une ligne de la feuille de calcul Excel
- Supprimer une feuille de calcul d'un fichier Excel
Étape 1
1. C# Éditer des fichiers Excel en utilisant la bibliothèque IronXL
Pour ce tutoriel, nous utiliserons les fonctions définies par IronXL, une bibliothèque Excel C#. Pour utiliser ces fonctions, vous devez d'abord télécharger et installer le logiciel dans votre projet(libre pour le développement).
Vous pouvez soit Télécharger IronXL.zip ou en savoir plus et l'installer via le site Page du paquet NuGet.
Une fois que vous l'avez installé, commençons!
Install-Package IronXL.Excel
Comment faire Tutoriel
2. Modifier des valeurs de cellules spécifiques
Tout d'abord, nous verrons comment modifier les valeurs spécifiques des cellules d'une feuille de calcul Excel.
Pour ce faire, nous importons la feuille de calcul Excel à modifier, puis nous accédons à sa feuille de travail. Nous pouvons ensuite appliquer les modifications comme indiqué ci-dessous.
/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
'''
'''Import and Edit SpreadSheet
'''anchor-edit-specific-cell-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'import Excel SpreadSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'access specific workshet
ws.Rows (3).Columns (1).Value = "New Value" 'access specific cell and modify its value
wb.SaveAs("sample.xlsx") 'save changes
End Sub
Here are before and after screenshots of Excel SpreadSheet sample.xlsx
:
Before After
:---: :-----:
We can see how simple it is to modify the Excel SpreadSheet value.
If needed, there is also an alternative way to edit the specific cell value by cell address:
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" 'alternative way to access specific cell and apply changes
3. Modifier les valeurs d'une ligne entière
Il est assez simple de modifier les valeurs d'une ligne complète d'une feuille de calcul Excel à l'aide d'une valeur statique.
/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Row Values
'''anchor-edit-full-row-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Rows (3).Value = "New Value"
wb.SaveAs("sample.xlsx")
End Sub
Voir les captures d'écran de sample.xlsx
ci-dessous :
Avant Après
:--- : :----- :
Pour ce faire, nous pouvons également modifier la valeur d'une plage spécifique de la ligne, en utilisant la fonction de plage :
ws ["A3:E3"].Value = "New Value";
ws ["A3:E3"].Value = "New Value";
ws ("A3:E3").Value = "New Value"
4. Modifier les valeurs d'une colonne entière
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.
/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Columns [1].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Columns [1].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Column Values
'''anchor-edit-full-column-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Columns (1).Value = "New Value"
wb.SaveAs("sample.xlsx")
End Sub
Ce qui produira notre feuille de calcul sample.xlsx
comme suit :
Avant Après
:--- : :----- :
5. Modifier une ligne complète avec des valeurs dynamiques
Grâce à IronXL, il est également possible d'éditer 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 :
/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
}
wb.SaveAs("sample.xlsx");
}
/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
}
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Row Dynamic Values
'''anchor-edit-full-row-with-dynamic-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Columns.Count() - 1
ws.Rows (3).Columns (i).Value = "New Value " & i.ToString()
Next i
wb.SaveAs("sample.xlsx")
End Sub
Dans le tableau ci-dessous, nous voyons les captures d'écran de la feuille de calcul Excel sample.xlsx
de cette sortie :
Avant Après
:--- : :----- :
6. Modifier une colonne complète avec des valeurs dynamiques
Il est également facile d'éditer des colonnes spécifiques avec des valeurs dynamiques.
/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
if (i == 0)//it is for if our first column is used as a header
continue;
ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
}
/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
if (i == 0)//it is for if our first column is used as a header
continue;
ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Column Dynamic Values
'''anchor-edit-full-column-with-dynamic-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 0 To ws.Rows.Count() - 1
If i = 0 Then 'it is for if our first column is used as a header
Continue For
End If
ws.Rows (i).Columns (1).Value = "New Value " & i.ToString()
Next i
wb.SaveAs("sample.xlsx")
End Sub
Avec les résultats du tableau sample.xlsx
ci-dessous :
Avant Après
:--- : :----- :
7. Remplacer les valeurs d'une 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
. Cette fonction permet de remplacer les données d'une feuille de calcul Excel dans n'importe quelle situation.
7.1. Remplacer la valeur spécifique de la feuille de travail complète
Pour remplacer une valeur spécifique d'une feuille de calcul Excel complète par une valeur actualisée, il suffit d'accéder à la feuille de calcul ws
(comme dans les exemples ci-dessus) et appliquer la fonction Replace
comme suit.
/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
'''
'''Replace Cell Values
'''anchor-replace-specific-value-of-complete-worksheet
'''*
ws.Replace("old value", "new value")
Cette fonction remplace l'"ancienne valeur" par la "nouvelle valeur" dans une feuille de calcul Excel complète.
N'oubliez pas de sauvegarder le fichier après toute modification, comme indiqué dans les exemples ci-dessus.
7.2. Remplacer les valeurs d'une ligne spécifique
Si vous souhaitez apporter des modifications à une ligne spécifique plutôt qu'à l'ensemble de la feuille de calcul, utilisez ce code.
ws.Rows [2].Replace("old value", "new value");
ws.Rows [2].Replace("old value", "new value");
ws.Rows (2).Replace("old value", "new value")
Le code ci-dessus remplacera l'"ancienne valeur" par la "nouvelle valeur" uniquement dans la ligne numéro "2". Le reste de la feuille de travail reste inchangé.
7.3. Remplacer les valeurs de la plage de lignes
Nous pouvons également remplacer les valeurs à l'intérieur d'une fourchette spécifique comme suit :
ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ("From Cell Address : To Cell Address").Replace("old value", "new value")
Supposons que nous voulions remplacer l'ancienne valeur par la nouvelle, juste dans l'intervalle de B4
à E4
de la ligne no 4
, alors nous l'écrirons 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")
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é.
ws.Columns [1].Replace("old value", "new Value")
ws.Columns [1].Replace("old value", "new Value")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ws.Columns [1].Replace("old value", "new Value")
Le code ci-dessus remplacera l'"ancienne valeur" par la "nouvelle valeur" uniquement pour la colonne numéro "1".
7.5. Remplacer les valeurs des colonnes
De la manière suivante, nous pouvons également utiliser la fonction range pour remplacer dans une plage d'une colonne spécifique.
ws ["B5:B10"].Replace("old value", "new value");
ws ["B5:B10"].Replace("old value", "new value");
ws ("B5:B10").Replace("old value", "new value")
Le code ci-dessus remplacera l'"ancienne valeur" par la "nouvelle valeur" dans l'intervalle de B5
à B10
pour la colonne B
.
8. Supprimer une ligne de la 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.
/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].RemoveRow();
wb.SaveAs("sample.xlsx");
}
/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].RemoveRow();
wb.SaveAs("sample.xlsx");
}
'''
'''Remove Row
'''anchor-remove-row-from-excel-worksheet
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Rows (3).RemoveRow()
wb.SaveAs("sample.xlsx")
End Sub
Le code ci-dessus supprimera la ligne numéro 3 de sample.xlsx
comme indiqué dans le tableau suivant :
Avant Après
:--- : :----- :
9. Supprimer une feuille de calcul d'un fichier Excel
Si nous voulons supprimer une feuille de calcul complète d'un fichier Excel, nous pouvons utiliser la méthode suivante :
/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
'''
'''Remove Worksheet from File
'''anchor-remove-worksheet-from-excel-file
'''*
wb.RemoveWorkSheet(1) ' by sheet indexing
wb
est le WorkBook, comme dans les exemples précédents. Si nous voulons supprimer une feuille de calcul par son nom, alors.. :
wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
IronXL est riche de nombreuses autres fonctions qui permettent d'effectuer facilement 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 de ce produit dans votre projet.
Accès rapide à la bibliothèque
Documentation de la bibliothèque IronXL
Explorez toutes les capacités de la bibliothèque IronXL C# avec diverses fonctions pour éditer, supprimer, styliser et perfectionner vos classeurs Excel.
Documentation de la bibliothèque IronXL