Passer au contenu du pied de page
UTILISATION D'IRONXL

VB.NET Reading Excel Files Using IronXL for .NET : Un guide pas à pas sans Microsoft Office

La lecture de fichiers Excel dans les applications VB.NET est une exigence courante pour les logiciels d'entreprise, les outils de traitement des données et les systèmes de reporting. Les approches traditionnelles utilisant Microsoft Office Interop exigent que l'application Excel soit installée sur chaque bureau ou serveur Windows, créant des dépendances complexes qui causent des problèmes de déploiement. Ce tutoriel montre comment lire les données d'un fichier Excel en VB.NET à l'aide d'IronXL, une bibliothèque .NET moderne qui traite les formats de fichiers XLSX et XLS sans aucune installation d'Office.

VB.NET (souvent appelé VB dans les communautés de développeurs) offre plusieurs options pour lire les fichiers Excel. Les développeurs VB.NET peuvent choisir d'utiliser Microsoft Office Interop ou des bibliothèques tierces pour accéder aux feuilles de calcul Excel et les manipuler. Plusieurs bibliothèques sont disponibles pour lire les fichiers Excel dans VB.NET, y compris les outils de Microsoft et des solutions tierces. Nombre de ces bibliothèques, telles qu'IronXL, peuvent être facilement installées via le gestionnaire de paquets NuGet, ce qui simplifie le processus d'installation pour les projets VB.NET.

Lorsqu'ils documentent ou expliquent les flux de travail Excel, les développeurs incluent souvent une image telle qu'un aperçu de la feuille de calcul, une mise en page de la feuille de calcul ou une comparaison code-sortie pour démontrer visuellement comment les données Excel sont structurées et traitées. L'utilisation d'une bibliothèque comme IronXL for .NET garantit que les données affichées dans une image Excel correspondent exactement à ce que votre application VB.NET lit par programme, améliorant ainsi la clarté de la documentation technique et des tutoriels.


Comment installer IronXL for VB.NET Excel Processing ?

Installez IronXL via la console NuGet Package Manager dans Visual Studio. Ouvrez votre projet VB.NET et exécutez-le :

Install-Package IronXL.Excel

VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 1 - Installation

Après l'installation, ajoutez l'importation de l'espace de noms au début de votre fichier de code VB.NET :

Imports IronXL
Imports System
Imports IronXL
Imports System
VB .NET

Voilà pour l'ensemble de la configuration. Suivez ces instructions simples et vous serez prêt. Pas de références COM, pas d'Office Primary Interop Assemblies et pas de dépendances spécifiques à une version à gérer. Votre projet est prêt à créer, lire, écrire et manipuler des fichiers Excel.


Compréhension des formats de fichiers Excel

Lorsque l'on travaille avec des fichiers Excel dans VB.NET, il est essentiel de comprendre les différents formats de fichiers Excel pour créer des applications robustes capables de lire, d'écrire et de manipuler efficacement les données des feuilles de calcul. Les formats les plus courants sont XLS, XLSX et XLSB. Chaque format possède des caractéristiques uniques qui ont un impact sur la façon dont vous accédez et traitez les données Excel dans vos projets .NET.

<XLS est l'ancien format de fichier Excel, utilisé par Excel 2003 et les versions antérieures. Il stocke les données dans une structure binaire, ce qui peut rendre leur manipulation directe plus difficile sans l'aide de bibliothèques spécialisées. XLSX, introduit avec Excel 2007, est désormais le format par défaut de la plupart des classeurs Excel modernes. Les fichiers XLSX sont en fait des archives ZIP contenant des fichiers XML, ce qui les rend plus accessibles à la manipulation programmatique et mieux adaptés aux applications multiplateformes. XLSB est un format binaire conçu pour les fichiers Excel volumineux, offrant des opérations de lecture et d'écriture plus rapides pour les ensembles de données massifs.

Lorsque vous créez des fichiers Excel en VB.NET, il est important de choisir le format adapté à vos besoins. Des bibliothèques comme IronXL permettent de générer facilement de nouveaux classeurs aux formats XLS, XLSX, CSV ou TSV, en fonction de vos besoins. Par exemple, si vous devez partager des données avec des utilisateurs sur différentes plateformes ou les intégrer à d'autres systèmes, XLSX ou CSV peut être le meilleur choix. Si vous travaillez avec des systèmes anciens, vous devrez peut-être prendre en charge l'ancien format de fichier XLS.

La différence entre ces formats affecte également la façon dont vous lisez et écrivez les fichiers Excel. Par exemple, les fichiers XLSX, basés sur XML, sont plus faciles à analyser et à manipuler, alors que les fichiers XLS nécessitent la manipulation de données binaires. Avec IronXL, vous pouvez utiliser la méthode WorkBook.Load pour lire les fichiers Excel quel que soit leur format - il suffit de fournir le chemin d'accès au fichier, et la bibliothèque détectera le format automatiquement. Une fois chargé, vous pouvez accéder au classeur Excel, parcourir chaque feuille de calcul Excel et récupérer ou mettre à jour les valeurs des cellules à l'aide de la propriété Value ou de la collection Cells. La manipulation de fichiers Excel en VB.NET implique souvent de travailler avec différents types de données, tels que des nombres, du texte et des dates. La méthode FormatValue vous permet d'afficher les données Excel dans le format souhaité, en veillant à ce que votre application présente les informations de manière claire.

Comment charger et lire un fichier Excel?

La méthode WorkBook.Load ouvre n'importe quel fichier Excel et renvoie un objet workbook contenant toutes les feuilles de calcul et les données Excel. IronXL détecte automatiquement le format de fichier, prenant en charge les formats de feuilles de calcul XLSX, XLS, XLSM, CSV et TSV.

Imports IronXL
Imports System

Module Program
    Sub Main()
        ' Load the Excel workbook from file path
        Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx")
        ' Access the first worksheet in the workbook
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet
        ' Read a single cell value using the Value property
        Dim companyName As String = sheet("A1").StringValue
        Console.WriteLine("Company: " & companyName)
    End Sub
End Module
Imports IronXL
Imports System

Module Program
    Sub Main()
        ' Load the Excel workbook from file path
        Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx")
        ' Access the first worksheet in the workbook
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet
        ' Read a single cell value using the Value property
        Dim companyName As String = sheet("A1").StringValue
        Console.WriteLine("Company: " & companyName)
    End Sub
End Module
VB .NET

La méthode WorkBook.Load accepte une chaîne de chemin de fichier et renvoie un objet WorkBook qui fournit un accès complet au contenu de la feuille de calcul. La propriété DefaultWorkSheet récupère la première feuille, tandis que la propriété StringValue extrait le contenu de la cellule sous forme de texte. Vous pouvez également accéder aux feuilles de travail par nom en utilisant workbook.GetWorkSheet("Sheet1") ou par index avec workbook.WorkSheets(0) pour récupérer n'importe quelle feuille dans le nouveau classeur.

Entrée

VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 2 - Exemple d'entrée Excel

Sortie

VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 3 - Sortie de la console

Pour les fichiers Excel protégés par un mot de passe, transmettez le mot de passe en tant que deuxième paramètre : WorkBook.Load("Protected.xlsx", "myPassword"). Cette méthode fonctionne avec n'importe quel nom de fichier que vous spécifiez.

Comment lire différents types de données dans les cellules ? Les cellules d'Excel contiennent différents types de données, notamment du texte, des chiffres, des dates et des formules. IronXL fournit des propriétés typées pour extraire les valeurs des cellules dans le bon format sans conversion manuelle. Chaque objet cell expose une propriété value pour différents types de données. ```vb Imports IronXL Imports System Module Program Sub Main() Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Read different data types from row 2 cells Dim employeeId As Integer = sheet("A2").IntValue Dim employeeName As String = sheet("B2").StringValue Dim salary As Decimal = sheet("D2").DecimalValue Dim hireDate As DateTime = sheet("E2").DateTimeValue ' Display the extracted Excel data Console.WriteLine("ID: " & employeeId.ToString()) Console.WriteLine("Name: " & employeeName) Console.WriteLine("Salary: $" & salary.ToString("N2")) Console.WriteLine("Hired: " & hireDate.ToShortDateString()) End Sub End Module ``` Chaque propriété typée (`IntValue`, `StringValue`, `DecimalValue`, `DateTimeValue`) gère la conversion automatiquement à partir de la valeur de la cellule sous-jacente. La propriété `Text` renvoie la valeur affichée telle qu'elle apparaît dans l'application Excel, tandis que la propriété générique `Value` renvoie l'objet de données brutes. Pour les cellules contenant des [formules Excel](/csharp/excel/how-to/edit-formulas/), IronXL calcule le résultat et renvoie la valeur calculée, de sorte que vous pouvez récupérer les résultats des formules sans code supplémentaire. ## Comment faire pour parcourir les lignes d'Excel? Le traitement de plusieurs enregistrements nécessite de parcourir les lignes et les colonnes d'une feuille de calcul Excel. La syntaxe de plage d'IronXL rend cette tâche simple avec la structure de boucle `For Each` de VB.NET. Vous pouvez écrire du code pour traiter n'importe quel nombre de lignes en une seule fois. ```vb Imports IronXL Imports System Module Program Sub Main() Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Loop through cells in column B to retrieve employee names Console.WriteLine("Employee List:") For Each cell In sheet("B2:B10") If Not String.IsNullOrEmpty(cell.Text) Then Console.WriteLine(" - " & cell.Text) End If Next End Sub End Module ``` La syntaxe de plage `sheet("B2:B10")` sélectionne les cellules de B2 à B10, en renvoyant une collection énumérable que vous pouvez parcourir en boucle. La vérification `String.IsNullOrEmpty` traite les cellules vides de manière élégante, évitant ainsi les lignes vides dans la sortie de la console. Pour traiter des lignes entières avec plusieurs colonnes, utilisez des boucles imbriquées ou accédez aux cellules en combinant l'index de la ligne avec les lettres de la colonne. Vous pouvez également utiliser le nombre de lignes pour déterminer quand arrêter la boucle. ### Sortie ![VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 4 - Sortie des lignes Excel](/static-assets/excel/blog/vb-net-read-excel/vb-net-read-excel-4.webp) La propriété `Rows` vous permet d'itérer ligne par ligne dans l'ensemble de la [plage de données de la feuille de calcul](/csharp/excel/how-to/select-range/), en vous donnant accès à chaque ligne sous la forme d'un tableau de valeurs de cellules. ## Comment effectuer des calculs sur des données Excel? IronXL comprend des fonctions d'agrégation intégrées pour les calculs courants sans avoir à écrire des boucles manuelles. Ces fonctions fonctionnent directement sur des plages de cellules et s'intègrent à LINQ pour des requêtes avancées. L'API permet de récupérer facilement des données statistiques à partir de n'importe quelle feuille de calcul. ```vb Imports IronXL Imports System Module Program Sub Main() Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Calculate salary statistics from column D range Dim totalSalaries As Decimal = sheet("D2:D50").Sum() Dim highestSalary As Decimal = sheet("D2:D50").Max() Dim lowestSalary As Decimal = sheet("D2:D50").Min() ' Display the calculated results Console.WriteLine("Total Payroll: $" & totalSalaries.ToString("N2")) Console.WriteLine("Highest Salary: $" & highestSalary.ToString("N2")) Console.WriteLine("Lowest Salary: $" & lowestSalary.ToString("N2")) End Sub End Module ``` Les [fonctions d'agrégation](/csharp/excel/how-to/math-functions/) (Somme, Min, Max, Moyenne) calculent les résultats sur la plage de cellules spécifiée. Ces méthodes sautent automatiquement les cellules vides et gèrent la conversion numérique, ce qui simplifie la mise en œuvre des calculs de paie, des totaux d'inventaire et des analyses statistiques dans votre application.

Comment construire un lecteur de données complet pour les employés ? Voici un exemple d'application pratique qui charge une feuille de calcul d'employés, traite chaque enregistrement dans une boucle et affiche une sortie formatée avec une gestion appropriée des erreurs. Ce code montre comment créer un système complet d'extraction de données. ```vb Imports IronXL Imports System Module EmployeeDataReader Sub Main() Try ' Load the employee Excel workbook from path Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet Console.WriteLine("=== Employee Data Report ===") Console.WriteLine() ' Process each employee row (skip header in first row) Dim rowNumber As Integer = 2 Dim totalSalary As Decimal = 0 Dim employeeCount As Integer = 0 Do While Not String.IsNullOrEmpty(sheet("A" & rowNumber.ToString()).StringValue) ' Retrieve data from each column in the row Dim id As Integer = sheet("A" & rowNumber.ToString()).IntValue Dim name As String = sheet("B" & rowNumber.ToString()).StringValue Dim department As String = sheet("C" & rowNumber.ToString()).StringValue Dim salary As Decimal = sheet("D" & rowNumber.ToString()).DecimalValue ' Display formatted employee record Console.WriteLine("ID: " & id.ToString() & " " & name & " " & department & " $" & salary.ToString("N2")) totalSalary += salary employeeCount += 1 rowNumber += 1 Loop Console.WriteLine() Console.WriteLine("Total Employees: " & employeeCount.ToString()) Console.WriteLine("Total Payroll: $" & totalSalary.ToString("N2")) Catch ex As Exception Console.WriteLine("Error reading Excel file: " & ex.Message) End Try End Sub End Module ``` Cet exemple présente un flux de travail complet d'extraction de données. La boucle `Do While` continue jusqu'à ce qu'elle rencontre une cellule vide dans la colonne A, ce qui la rend flexible pour les feuilles de calcul dont le nombre de lignes varie - il n'est pas nécessaire de connaître le nombre exact à l'avance. Chaque itération extrait les informations relatives aux employés à partir de plusieurs colonnes et accumule le total des salaires. Le bloc `Try-Catch` traite les problèmes courants tels que les fichiers manquants ou les données corrompues, empêchant ainsi le plantage de l'application. ### Sortie ![VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 5 - Sortie des données sur les employés](/static-assets/excel/blog/vb-net-read-excel/vb-net-read-excel-5.webp) Vous pouvez également insérer par programmation des données dans les cellules d'une feuille de calcul en VB.NET. Par exemple, pour ajouter un nouvel enregistrement d'employé, vous pouvez utiliser : ```vb sheet("A10").Value = 1010 ' ID inserted sheet("B10").Value = "Jane Doe" ' Name inserted sheet("C10").Value = "Finance" ' Department inserted sheet("D10").Value = 75000 ' Salary inserted workbook.Save() ``` Ceci démontre comment de nouvelles données peuvent être insérées dans des cellules spécifiques à l'aide du code VB.NET. Pour les fichiers CSV, utilisez `WorkBook.LoadCSV("data.csv")` au lieu de la méthode standard `Load` pour optimiser l'analyse du format séparé par des virgules. Les données Excel extraites s'intègrent facilement aux bases de données, aux rapports ou à d'autres logiques commerciales dans votre application VB.NET. Vous pouvez également remplir un `DataTable` ou un tableau avec les valeurs récupérées pour un traitement ultérieur. **Intégration Windows Forms:** Le même code fonctionne dans une application Windows Form. Créez un formulaire avec deux boutons, l'un pour charger le fichier et l'autre pour afficher les données, puis gérez les événements de clic : ```vb Imports IronXL Imports System.Windows.Forms Public Class Form1 Private workbook As WorkBook Private Sub btnLoad_Click(ByVal sender As Object, ByVal e As EventArgs) workbook = WorkBook.Load("Employees.xlsx") MessageBox.Show("Excel file loaded successfully!") End Sub Private Sub btnDisplay_Click(ByVal sender As Object, ByVal e As EventArgs) If workbook IsNot Nothing Then Dim sheet As WorkSheet = workbook.DefaultWorkSheet Dim name As String = sheet("B2").StringValue MessageBox.Show("First Employee: " & name) End If End Sub End Class ``` Cet exemple montre comment les gestionnaires d'événements `Private Sub` avec les paramètres `ByVal sender As Object` et `ByVal e As EventArgs` intègrent IronXL dans un formulaire de bureau. La structure des classes avec `End Class` suit les modèles standard de VB.NET. ### Sortie ![VB.NET Lire des fichiers Excel en utilisant IronXL.NET : Un guide pas à pas sans Microsoft Office : Image 6 - Sortie Windows Form](/static-assets/excel/blog/vb-net-read-excel/vb-net-read-excel-6.webp) ## Conclusion IronXL transforme la lecture de fichiers Excel par VB.NET d'un défi Interop complexe en un code simple. Le chargement de classeurs, l'extraction de valeurs de cellules saisies, l'itération dans les lignes et les colonnes et l'exécution de calculs ne nécessitent que quelques lignes de syntaxe intuitive, sans installer Microsoft Office sur votre ordinateur de bureau ou votre serveur Windows. Le même code fonctionne, qu'il s'agisse d'une application console, d'un formulaire Windows avec des boutons ou d'une page web ASPX. [Commencez par un essai gratuit](trial-license) pour mettre en œuvre le traitement des données Excel dans vos projets VB.NET dès aujourd'hui. Téléchargez IronXL et explorez la [documentation complète](/csharp/excel/docs/) pour des fonctionnalités avancées telles que [création de fichiers Excel](/csharp/excel/how-to/create-spreadsheet/), [exporter vers plusieurs formats](/csharp/excel/how-to/csharp-convert-xlsx-to-csv/), et [style de cellule](/csharp/excel/how-to/cell-font-size/). L'API IronXL () fournit un système complet pour toute tâche de manipulation d'Excel - qu'il s'agisse de lire, d'écrire, de créer ou de manipuler des données de feuilles de calcul dans votre application .NET.

Questions Fréquemment Posées

Qu'est-ce qu'IronXL?

IronXL est une bibliothèque .NET qui permet aux développeurs de lire, d'éditer et de créer des fichiers Excel dans différents formats tels que XLSX et XLS sans avoir besoin d'installer Microsoft Office.

Comment utiliser IronXL for .NET pour lire des fichiers Excel en VB.NET ?

IronXL for .NET peut être utilisé dans VB.NET pour lire des fichiers Excel en chargeant le fichier dans un objet WorkBook, ce qui permet d'accéder aux données des WorkSheets au sein du WorkBook.

Pourquoi choisir IronXL plutôt que Microsoft Office Interop pour la lecture des fichiers Excel ?

IronXL offre un processus de déploiement plus simple car il ne nécessite pas l'installation de Microsoft Office, ce qui élimine les dépendances complexes et réduit les maux de tête liés au déploiement.

Quels types de formats de fichiers Excel IronXL peut-il traiter ?

IronXL peut traiter divers formats de fichiers Excel, notamment XLSX et XLS, ce qui le rend polyvalent pour différents besoins de traitement de données.

IronXL peut-il gérer de grands fichiers Excel efficacement?

Oui, IronXL est optimisé pour les performances et peut traiter efficacement de gros fichiers Excel, ce qui le rend adapté aux applications qui nécessitent le traitement de quantités substantielles de données.

IronXL for .NET est-il compatible avec d'autres langages .NET que VB.NET ?

Oui, IronXL est compatible avec d'autres langages .NET tels que C# et F#, ce qui offre une certaine flexibilité aux développeurs travaillant dans différents environnements.

IronXL prend-il en charge la lecture de fichiers Excel sans que Microsoft Office soit installé ?

Oui. L'une des principales caractéristiques d'IronXL est qu'il peut lire des fichiers Excel sans avoir besoin de Microsoft Office, ce qui simplifie le déploiement et réduit les exigences du système.

Quels sont les avantages de l'utilisation d'IronXL pour les logiciels d'entreprise ?

IronXL fournit des méthodes faciles à utiliser pour lire et manipuler les données Excel, ce qui le rend idéal pour les logiciels d'entreprise qui nécessitent une analyse de données, des rapports ou une intégration avec des feuilles de calcul Excel.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite