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 allons apprendre à créer des feuilles de calcul dans tous les formats (.xls
, .xlsx
, .csv
et .tsv
), ainsi qu'à définir les styles de cellules et à insérer des données en utilisant la programmation Excel avec VB.NET.
Comment lire un fichier Excel en VB.NET
- Télécharger la bibliothèque VB.NET pour lire Excel en C#
- 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 Excel pour VB.NET en utilisant Téléchargement DLL ou NuGet. IronXL est notre étape 1 pour accéder rapidement aux données Excel dans nos projets VB.NET, et c'est ce que nous utiliserons pour ce tutoriel (gratuit pour le développement).
Install-Package IronXL.Excel
Tutoriel d'utilisation
2. Créer des fichiers Excel en VB.NET
IronXL offre l'approche la plus simple pour créer un fichier Excel (.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 sert à 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 avec l'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 calcul ws1
avec le nom sheet1
dans le classeur 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 dans 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 NewValue
de la cellule A3
à A8
dans 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 des données pour illustrer 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
Remarque : 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 la capture d'écran de notre nouveau fichier Excel créé sample.xlsx
:
Il est clair qu'il est simple de créer des fichiers Excel en utilisant IronXL
dans une application VB.NET.
4. Lire un fichier Excel en VB.NET
IronXL offre également une approche simple pour lire les fichiers 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 permet 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, la fonction WorkBook.Load()
charge sample.xlsx
dans wb
. Toute fonction de type peut être réalisée 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 ci-dessus.
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 extraire tout type de données de la feuille de calcul correspondante du fichier Excel et effectuer toutes les fonctions Excel.
5. Accéder aux données d'une feuille de calcul
Les données peuvent être accédées depuis la ExcelSheet ws
de cette façon :
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 :
Et 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 sur les fonctions d'agrégation 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 de lire Excel dans l'article lié.
Tutoriel Accès rapide
Documentation Référence API
Accédez à la documentation de référence API d'IronXL et aux méthodes simples pour travailler avec Excel dans votre projet VB.NET. Trouvez des listes de fonctionnalités, de fonctions, de classes et plus encore.
Documentation Référence API