VB .NET Lire et créer des fichiers Excel (Tutoriel d'exemple de code)
Les développeurs ont besoin d'une approche simple et fluide pour accéder aux fichiers Excel VB .NET. Dans ce guide, nous utiliserons IronXL pour lire des fichiers Excel VB dotnet et accéder à toutes les données pour l'utilisation de notre projet. Nous apprendrons à créer des feuilles de calcul dans tous les formats( .xls
, .xlsx
, .csv
et .tsv
)ainsi que la définition de styles de cellules et l'insertion de données à l'aide de la programmation Excel VB.NET.
Comment lire un fichier Excel en VB.NET
- Télécharger la bibliothèque C# de lecture d'Excel de VB.NET
- Créer des fichiers Excel en VB.NET
- Insérer des données dans une feuille de calcul
- Lire un fichier Excel en VB.NET
- Accéder aux données d'une feuille de calcul
- Exécuter des fonctions sur des données
Étape 1
1. Bibliothèque Excel pour VB.NET
Obtenez la bibliothèque IronXL for .NET à l'aide deTéléchargement de DLL ouNuGet. IronXL est l'étape 1 pour accéder rapidement aux données Excel dans nos projets VB.NET, et c'est ce que nous utiliserons dans ce tutoriel(libre pour le développement).
Install-Package IronXL.Excel
Tutoriel d'utilisation
2. Créer des fichiers Excel en VB.NET
IronXL propose l'approche la plus simple pour créer un fichier Excel(format `.xlsx) dans un projet VB.NET. Ensuite, nous pouvons insérer des données et définir les propriétés des cellules, telles que les styles de police ou les bordures.
2.1. Créer un fichier Excel
Commençons par créer un WorkBook :
Dim wb As New WorkBook
Dim wb As New WorkBook
Le code ci-dessus permet de créer un nouveau fichier Excel. Par défaut, son extension est .xlsx
.
2.2. Créer un fichier XLS
Si vous souhaitez créer un fichier d'extension .xls
, vous pouvez utiliser ce code.
Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. Créer une feuille de travail
Après avoir créé le livre de travail, une feuille de travail Excel peut être créée comme suit :
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Le code ci-dessus créera une nouvelle feuille de travail ws1
avec le nom sheet1
dans le livre de travail wb
.
2.4. Créer plusieurs feuilles de travail
Il est possible de créer un nombre illimité de feuilles de travail de la même manière :
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
3. Insérer des données dans une feuille de calcul
3.1. Insérer des données dans les cellules
Nous pouvons maintenant facilement insérer des données dans les cellules de la feuille de travail comme suit :
worksheet("CellAddress").Value = "MyValue"
worksheet("CellAddress").Value = "MyValue"
Par exemple, les données de la feuille de calcul ws1
peuvent être insérées comme suit :
ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
Le code ci-dessus écrira Hello World
dans la cellule A1
de la feuille de calcul ws1
.
3.2. Insérer des données dans une plage
Il est également possible d'écrire des données dans plusieurs cellules à l'aide de la fonction range comme suit :
ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
Le code ci-dessus écrira NouvelleValeur
dans les cellules A3
à A8
de la feuille de calcul ws1
.
3.3. Créer et modifier des feuilles de calcul Exemple
Nous allons créer un nouveau fichier Excel Sample.xlsx
et y insérer quelques données pour présenter le code que nous avons appris ci-dessus.
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
Note : Par défaut, le nouveau fichier Excel sera créé dans le dossier bin>Debug
du projet. Si nous voulons créer un nouveau fichier dans un chemin personnalisé, alors.. :
` wb.SaveAs(@"E:\IronXL\Sample.xlsx")
Voici une capture d'écran de notre fichier Excel nouvellement créé sample.xlsx
:
Il est clair qu'il est très simple de créer des fichiers Excel à l'aide d'IronXL for .NET dans une application VB.NET.
4. Lire un fichier Excel en VB.NET
IronXL propose également une approche simple de la lecture d'Excel(.xlsx
) dans votre projet VB dotnet. Pour ce faire, il suffit d'obtenir le document Excel, de le charger dans votre projet, de lire ses données et de l'utiliser selon vos besoins.
Procédez comme suit :
4.1. Accéder à un fichier Excel dans un projet
WorkBook
est la classe d'IronXL dont l'objet fournit un accès complet au fichier Excel et à ses fonctions. Par exemple, si nous voulons accéder au fichier Excel, il suffit d'utiliser :
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
Dans le code ci-dessus, WorkBook.Load()
fonction load sample.xlsx
in wb
. N'importe quel type de fonction peut être exécuté sur wb
en accédant à une feuille de calcul spécifique du fichier Excel.
4.2. Feuille de travail spécifique à l'accès
Pour accéder à une feuille spécifique dans Excel, utilisez la classe WorkSheet
, qui peut être utilisée de différentes manières :
4.2.1. Par nom de feuille
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
wb
est le WorkBook déclaré dans la section précédente.
4.2.2. Index par feuille
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
4.2.3. Feuille par défaut
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
4.2.4. Première feuille
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
4.2.1. Première feuille ou feuille par défaut
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Après avoir obtenu la feuille Excel ws
, vous pouvez obtenir n'importe quel type de données à partir de la feuille de travail correspondante du fichier Excel et exécuter toutes les fonctions Excel.
5. Accéder aux données d'une feuille de calcul
Il est possible d'accéder aux données à partir de la feuille Excel ws
de cette manière :
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
5.1. Données d'une colonne spécifique
Il est également possible d'obtenir des données à partir de plusieurs cellules d'une colonne spécifique de la manière suivante :
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
Il affichera les valeurs des cellules A2
à A10
. Un exemple de code illustrant l'ensemble de la discussion ci-dessus est donné ci-dessous.
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
Le résultat suivant s'affiche :
Nous pouvons voir une capture d'écran du fichier Excel Sample.xlsx
:
6. Exécuter des fonctions sur des données
Il est facile d'accéder à des données filtrées à partir d'une feuille de calcul Excel en appliquant des fonctions d'agrégation telles que Sum, Min ou Max de la manière suivante :
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Vous pouvez en savoir plus surFonctions agrégées d'Excel ici.
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
Ce code nous donnera cet affichage :
Et ce fichier Excel Sample.xlsx
:
Vous pouvez en savoir plus sur la façon delire Excel dans l'article en lien.
Tutoriel Accès rapide
Documentation Référence API
Accédez à la documentation référence API d'IronXL et aux moyens simples de travailler avec Excel dans votre projet VB.NET. Trouvez des listes de caractéristiques, de fonctions, de classes et plus encore.
Documentation Référence API