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

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


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

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

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 :

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

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

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

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
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 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
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

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 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
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 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
Documentation related to Tutoriel Accès rapide