Écrire des fonctions Excel .NET
De nombreux projets d'application C# nécessitent la mise à jour de fichiers et l'écriture de nouvelles données dans des feuilles de calcul Excel de manière programmatique. Les capacités d'Excel .NET peuvent parfois être compliquées, mais en utilisant la bibliothèque IronXL, cette tâche est assez simple et permet de travailler avec des feuilles de calcul Excel dans n'importe quel format. Pas de lignes de code en vrac, juste un accès à des cellules spécifiques et aux valeurs personnalisées que vous leur attribuez.
Écrire des instructions Excel .NET
Installer avec NuGet
Install-Package IronXL.Excel
Télécharger DLL
Installation manuelle dans votre projet
Installer avec NuGet
Install-Package IronXL.Excel
Télécharger DLL
Installation manuelle dans votre projet
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Découvrez IronXL sur NuGet pour une installation et un déploiement rapides. Avec plus de 8 millions de téléchargements, il transforme Excel avec C#.
Install-Package IronXL.Excel
Envisagez d'installer le IronXL DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}
Installation manuelle dans votre projet
Télécharger la DLLAccéder aux fichiers Excel
Commençons par accéder au fichier Excel dans lequel nous voulons écrire les données. Ouvrons le fichier Excel dans notre projet, puis ouvrons sa feuille de travail 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")
La commande ci-dessus ouvrira le fichier Excel spécifié. 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")
La feuille de travail Excel s'ouvrira dans workSheet
et nous pourrons l'utiliser pour écrire n'importe quel type de données dans un fichier Excel. En savoir plus sur la façon decharger un fichier Excel et d'accéder aux feuilles de travail de différentes manières grâce aux exemples donnés dans le lien. Note : N'oubliez pas d'ajouter la référence de IronXL
dans votre projet et d'importer la bibliothèque par Using IronXL
.
Écriture d'une valeur dans une cellule spécifique
Nous pouvons écrire dans un fichier Excel en utilisant de nombreuses méthodes différentes, mais l'approche de base est l'utilisation des "Cellules Excel". 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"
Voici un exemple d'utilisation de la fonction ci-dessus pour écrire dans une cellule Excel dans notre 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")
Ce code écrira nouvelle valeur
dans la cellule A1
de la Feuille de Travail Sheet1
dans le fichier Excel sample.xlsx
. De la même manière, nous pouvons insérer des valeurs dans n'importe quelle adresse de cellule d'un fichier Excel. Note : N'oubliez pas d'enregistrer le fichier Excel après avoir écrit de nouvelles valeurs dans la feuille de calcul, comme indiqué dans l'exemple ci-dessus.
Forcer l'attribution de la valeur exacte
Lors de la définition de la propriété Valeur, IronXL essaierait de la convertir en son type de valeur correspondant. Parfois, cette évaluation n'est pas souhaitable car l'utilisateur veut forcer l'attribution de la valeur exacte à la cellule et non la valeur convertie. Pour ce faire, il convient d'assigner la valeur sous forme de chaîne de caractères. Pour ce faire, il suffit de placer une apostrophe devant la valeur d'une cellule dans Excel. 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"
Écrire des valeurs statiques dans une plage
Nous pouvons écrire de nouvelles valeurs dans plusieurs cellules, appelées plage, comme suit :
:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range.cs
workSheet["From Cell Address:To Cell Address"].Value = "New Value";
workSheet("From Cell Address:To Cell Address").Value = "New Value"
De cette façon, nous spécifions la plage de cellules From
à To
où les données seront écrites. Ensuite, la "Nouvelle valeur" sera inscrite dans toutes les cellules qui se trouvent dans cette plage. Ils comprennent mieuxPlage C# Excel voir les exemples ici.
Voyons comment écrire une fourchette 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")
Ce code écrira la nouvelle valeur
de B2
à B9
(Gamme par rangée) et de C3
à C7
(Gamme par colonne) de la feuille de travail sheet1
du fichier Excel sample.xlsx
. Il utilise des valeurs statiques pour les cellules Excel.
Écrire des valeurs dynamiques dans une plage
Il est également possible d'ajouter des valeurs dynamiques à une plage, comme indiqué ci-dessous.
: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")
Le code ci-dessus écrira des valeurs dynamiques dans les colonnes B
et D
de 2
à 7
dans le fichier Excel sample.xlsx
. Nous pouvons voir le résultat du code sur sample.xlsx
:
Remplacer la valeur d'une cellule Excel
En utilisant IronXL, nous pouvons facilement écrire une nouvelle valeur pour remplacer l'ancienne, en utilisant la fonction Replace()
fonctionnent 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")
La fonction ci-dessus écrira la "nouvelle valeur" en remplaçant l'"ancienne valeur" dans la feuille de calcul Excel complète.
Remplacer la valeur d'une cellule dans une ligne spécifique
Si nous voulons écrire une nouvelle valeur uniquement dans une ligne spécifique, nous pouvons procéder 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")
Ceci écrira la "nouvelle valeur" par dessus l'"ancienne valeur" dans l'index de ligne spécifié.
Remplacer la valeur d'une cellule dans une colonne spécifique
De la même manière, si nous voulons écrire une "nouvelle valeur" à la place de l'"ancienne valeur" dans une colonne spécifique, nous pouvons le faire 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")
Le code ci-dessus écrira la "nouvelle valeur" pour remplacer l'"ancienne valeur", mais seulement dans l'index de la colonne spécifiée. Le reste de la feuille de travail reste inchangé.
Remplacer la valeur d'une cellule dans une plage spécifique
IronXL propose également un moyen d'écrire une "nouvelle valeur" remplaçant l'"ancienne valeur", uniquement dans une plage spécifique.
: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")
Cette opération permet d'écrire la "nouvelle valeur" au-dessus de l'"ancienne valeur", uniquement dans les cellules qui se trouvent dans l'intervalle spécifié.
Voyons comment utiliser toutes les fonctions ci-dessus pour écrire de nouvelles valeurs qui remplaceront les anciennes dans une feuille de calcul Excel.
Exemple de toutes les fonctions
: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")
Pour plus d'informations sur l'écriture d'applications Excel .NET et autres, consultez notre tutoriel complet sur l'écriture d'applications Excel .NETOuvrir et écrire des fichiers Excel C#.
Tutoriel Accès rapide
Lire la référence de l'API
Lisez la documentation d'IronXL, y compris les listes de toutes les fonctions, caractéristiques, espaces de noms, classes et enums disponibles dans la bibliothèque.
Lire la référence de l'API