VB .NET Lire et créer des fichiers Excel (Tutoriel d'exemple de code)

Chaknith Bin
Chaknith Bin
juin 17, 2020
Mise à jour octobre 20, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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.


É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
VB.NET

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)
VB.NET

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")
VB.NET

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")
VB.NET

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"
VB.NET

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"
VB.NET

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"
VB.NET

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
VB.NET

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 :

Doc5 1 related to 3.3. Créer et modifier des feuilles de calcul Exemple

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
VB.NET

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
VB.NET

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
VB.NET

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: 
VB.NET

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:
VB.NET

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:
VB.NET

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
VB.NET

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
VB.NET

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
VB.NET

Le résultat suivant s'affiche :

Doc3 Input1 related to 5.1. Données d'une colonne spécifique

Et nous pouvons voir une capture d'écran du fichier Excel Sample.xlsx :

Doc3 1 related to 5.1. Données d'une colonne spécifique

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()
VB.NET

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
VB.NET

Ce code nous donnera cet affichage :

Doc3 Output2 related to 6. Exécuter des fonctions sur des données

Et ce fichier Excel Sample.xlsx :

Doc3 2 related to 6. Exécuter des fonctions sur des données

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
Documentation related to Tutoriel Accès rapide
Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.