Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment ouvrir un fichier Excel en VB.NET

Si vous avez déjà essayé d'ouvrir des fichiers Excel dans VB.NET, vous savez à quel point cela peut être compliqué sans Microsoft Office installé. Les méthodes d'interopérabilité traditionnelles reposent sur Excel lui-même, nécessitent des références COM complexes et provoquent souvent des conflits de versions, notamment sur les serveurs ou dans les environnements cloud.

C'est là qu'IronXL entre en jeu. Il s'agit d'une bibliothèque .NET moderne qui vous permet de lire directement les fichiers XLSX, XLS, CSV et TSV, sans nécessiter l'installation d'Office. Avec IronXL, vous pouvez écrire du code VB.NET plus propre et plus fiable, traiter des fichiers Excel n'importe où (Windows, Linux ou le cloud) et éviter tous les maux de tête liés à l'interopérabilité . Dans ce guide, nous vous montrerons comment démarrer et commencer à travailler sans effort avec des fichiers Excel.

Comment installer IronXL dans mon projet VB.NET ?

La prise en main d'IronXL ne prend que quelques secondes. Ouvrez Visual Studio 2022, accédez à votre projet VB.NET et utilisez la console du gestionnaire de packages :

Install-Package IronXL.Excel

Vous pouvez également cliquer avec le bouton droit sur votre projet, sélectionner " Gérer les packages NuGet ", rechercher " IronXL " et cliquer sur Installer.

Comment ouvrir un fichier Excel en VB.NET : Figure 1 - Installation du package NuGet IronXL

Une fois installé, ajoutez cette simple instruction d'importation à votre fichier VB.NET :

Imports IronXL
Imports IronXL
VB .NET

C'est ça. Aucune référence COM complexe, aucune dépendance Office, aucun assembly spécifique à une version. Votre lecteur de fichiers Excel VB.NET est prêt à fonctionner sur n'importe quelle machine. Pour des instructions d'installation détaillées, consultez notre tutoriel sur les fichiers Excel VB.NET.

Exemple de code simple : Lecture d'un document Excel avec IronXL

Voici un exemple complet et fonctionnel pour ouvrir un classeur Excel en VB.NET et lire les données :

Imports IronXL
Module Program
    Sub Main()
        ' Load any Excel file - XLSX, XLS, CSV, or TSV
        Dim workbook As WorkBook = WorkBook.Load("example.xlsx")
        ' Access the worksheet with our sales data (the second sheet)
        Dim worksheet As WorkSheet = workbook.WorkSheets(1)
        ' Read a specific cell value
        Dim revenue As Decimal = worksheet("E2").DecimalValue
        Console.WriteLine($"Order Total: {revenue}")
        ' Read a range of cells
        For Each cell In worksheet("C2:C6")
            Console.WriteLine($"Product: {cell.Text}")
        Next
    End Sub
End Module
Imports IronXL
Module Program
    Sub Main()
        ' Load any Excel file - XLSX, XLS, CSV, or TSV
        Dim workbook As WorkBook = WorkBook.Load("example.xlsx")
        ' Access the worksheet with our sales data (the second sheet)
        Dim worksheet As WorkSheet = workbook.WorkSheets(1)
        ' Read a specific cell value
        Dim revenue As Decimal = worksheet("E2").DecimalValue
        Console.WriteLine($"Order Total: {revenue}")
        ' Read a range of cells
        For Each cell In worksheet("C2:C6")
            Console.WriteLine($"Product: {cell.Text}")
        Next
    End Sub
End Module
VB .NET

La méthode Load() du classeur détecte automatiquement le format du fichier ; Il n'est pas nécessaire de préciser s'il s'agit du format XLS ou XLSX. Accédez aux feuilles de calcul Excel par index ou par nom de fichier en utilisant workbook.GetWorkSheet("Sheet1"). Chaque cellule renvoie des valeurs saisies via des propriétés telles que IntValue, DecimalValue, DateTimeValue ou la propriété universelle Text. Pour des scénarios plus complexes, consultez notre documentation sur les formules Excel .

Comme vous pouvez le constater ici, IronXL a ouvert le fichier avec succès et a lu l'intégralité de la commande que nous lui avons demandé de lire. Il a également été capable de lire et d'extraire des informations de chaque produit vendu, toutes commandes confondues.

Comment ouvrir un fichier Excel en VB.NET : Figure 2 - Exemple de résultat pour la lecture de fichiers Excel

Comment puis-je lire différents types de données Excel ?

IronXL gère intelligemment tous les types de données Excel lors de la lecture de fichiers Excel VB.NET. Voici comment travailler avec différents scénarios de données :

' Open workbook from any location using the filename and path
Dim wb As WorkBook = WorkBook.Load("C:\Data\Inventory.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Products")
' Read different data types safely
Dim productName As String = ws("A2").StringValue
Dim quantity As Integer = ws("B2").IntValue  
Dim price As Decimal = ws("C2").DecimalValue
Dim lastUpdated As DateTime = ws("D2").DateTimeValue
' Process entire columns efficiently
Dim totalStock As Decimal = ws("B2:B100").Sum()
Dim maxPrice As Decimal = ws("C2:C100").Max()
' Iterate through all used cells starting at row index 1 to skip header (zero-based index)
 For i As Integer = 1 To ws.Rows.Count - 1
    Dim row = ws.Rows(i)
    ' Stop at first completely empty row
    If row.Columns(0).Value Is Nothing AndAlso row.Columns(1).Value Is Nothing AndAlso
       row.Columns(2).Value Is Nothing AndAlso row.Columns(3).Value Is Nothing Then Exit For
    ' Read values safely
    Dim sku As String = If(row.Columns(0).Value IsNot Nothing, row.Columns(0).StringValue, "")
    Dim stock As Integer = If(row.Columns(1).Value IsNot Nothing, row.Columns(1).IntValue, 0)
    Dim priceVal As Decimal = If(row.Columns(2).Value IsNot Nothing, row.Columns(2).DecimalValue, 0D)
    Dim rwLastUpdated As DateTime? = If(row.Columns(3).Value IsNot Nothing, row.Columns(3).DateTimeValue, Nothing)
    ' Format date
    Dim lastUpdatedStr As String = If(rwLastUpdated.HasValue, rwLastUpdated.Value.ToString("dd/MM/yyyy"), "")
    ' Print only rows with data
    If sku <> "" OrElse stock <> 0 OrElse priceVal <> 0D OrElse lastUpdatedStr <> "" Then
        Console.WriteLine($"SKU: {sku}, Stock: {stock}, Price: {priceVal:C}, Last Updated: {lastUpdatedStr}")
    End If
Next
' Open workbook from any location using the filename and path
Dim wb As WorkBook = WorkBook.Load("C:\Data\Inventory.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Products")
' Read different data types safely
Dim productName As String = ws("A2").StringValue
Dim quantity As Integer = ws("B2").IntValue  
Dim price As Decimal = ws("C2").DecimalValue
Dim lastUpdated As DateTime = ws("D2").DateTimeValue
' Process entire columns efficiently
Dim totalStock As Decimal = ws("B2:B100").Sum()
Dim maxPrice As Decimal = ws("C2:C100").Max()
' Iterate through all used cells starting at row index 1 to skip header (zero-based index)
 For i As Integer = 1 To ws.Rows.Count - 1
    Dim row = ws.Rows(i)
    ' Stop at first completely empty row
    If row.Columns(0).Value Is Nothing AndAlso row.Columns(1).Value Is Nothing AndAlso
       row.Columns(2).Value Is Nothing AndAlso row.Columns(3).Value Is Nothing Then Exit For
    ' Read values safely
    Dim sku As String = If(row.Columns(0).Value IsNot Nothing, row.Columns(0).StringValue, "")
    Dim stock As Integer = If(row.Columns(1).Value IsNot Nothing, row.Columns(1).IntValue, 0)
    Dim priceVal As Decimal = If(row.Columns(2).Value IsNot Nothing, row.Columns(2).DecimalValue, 0D)
    Dim rwLastUpdated As DateTime? = If(row.Columns(3).Value IsNot Nothing, row.Columns(3).DateTimeValue, Nothing)
    ' Format date
    Dim lastUpdatedStr As String = If(rwLastUpdated.HasValue, rwLastUpdated.Value.ToString("dd/MM/yyyy"), "")
    ' Print only rows with data
    If sku <> "" OrElse stock <> 0 OrElse priceVal <> 0D OrElse lastUpdatedStr <> "" Then
        Console.WriteLine($"SKU: {sku}, Stock: {stock}, Price: {priceVal:C}, Last Updated: {lastUpdatedStr}")
    End If
Next
VB .NET

IronXL gère automatiquement les cellules vides, les cellules fusionnées et les formules. La bibliothèque Excel VB.NET recalcule les formules lors de leur lecture, vous assurant ainsi d'obtenir toujours des valeurs à jour. Pour les grands ensembles de données, utilisez des fonctions d'agrégation comme Sum(), Average(), Min() et Max() pour des performances optimales. Besoin d'exporter des données ? Apprenez à convertir un fichier Excel en CSV .

Comment ouvrir un fichier Excel en VB.NET : Figure 3 - Lecture et affichage des données dans les cellules utilisées

Quel est un exemple concret d'utilisation en production ?

Créons un véritable outil de vérification d'inventaire qui traite plusieurs feuilles Excel en utilisant VB.NET pour ouvrir les fichiers Excel :

Imports IronXL
Imports System.IO
Public Class ExcelInventoryReader
    Public Function CheckLowStock(filePath As String) As List(Of String)
        Dim lowStockItems As New List(Of String)
        Try
            Dim workbook As WorkBook = WorkBook.Load(filePath)
            ' Process all worksheets in the workbook
            For Each sheet As WorkSheet In workbook.WorkSheets
                Console.WriteLine($"Checking {sheet.Name}...")
                ' Find items with stock below 10 units
                For rowIndex As Integer = 2 To sheet.RowCount
                    Dim itemName As String = sheet($"A{rowIndex}").StringValue
                    Dim stockLevel As Integer = sheet($"B{rowIndex}").IntValue
                    If stockLevel < 10 AndAlso Not String.IsNullOrEmpty(itemName) Then
                        lowStockItems.Add($"{itemName} - {stockLevel} units ({sheet.Name})")
                    End If
                Next
            Next
        Catch ex As Exception
            Console.WriteLine($"Error reading Excel file: {ex.Message}")
        End Try
        Return lowStockItems
    End Function
End Class
Imports IronXL
Imports System.IO
Public Class ExcelInventoryReader
    Public Function CheckLowStock(filePath As String) As List(Of String)
        Dim lowStockItems As New List(Of String)
        Try
            Dim workbook As WorkBook = WorkBook.Load(filePath)
            ' Process all worksheets in the workbook
            For Each sheet As WorkSheet In workbook.WorkSheets
                Console.WriteLine($"Checking {sheet.Name}...")
                ' Find items with stock below 10 units
                For rowIndex As Integer = 2 To sheet.RowCount
                    Dim itemName As String = sheet($"A{rowIndex}").StringValue
                    Dim stockLevel As Integer = sheet($"B{rowIndex}").IntValue
                    If stockLevel < 10 AndAlso Not String.IsNullOrEmpty(itemName) Then
                        lowStockItems.Add($"{itemName} - {stockLevel} units ({sheet.Name})")
                    End If
                Next
            Next
        Catch ex As Exception
            Console.WriteLine($"Error reading Excel file: {ex.Message}")
        End Try
        Return lowStockItems
    End Function
End Class
VB .NET

Ce code VB.NET prêt pour la production illustre la gestion des erreurs, le traitement multi-feuilles et une logique métier pratique. IronXL gère efficacement les fichiers jusqu'à 10 Mo en mémoire. Pour les fichiers plus volumineux, envisagez un traitement par blocs à l'aide de sélections de plages spécifiques . Les problèmes courants, tels que les autorisations d'accès aux fichiers, sont traités dans nos guides de dépannage . Pour toute discussion concernant l'automatisation d'Excel avec VB.NET, les forums de questions-réponses de Microsoft offrent un soutien communautaire.

Conclusion

Avec IronXL , lire et traiter des fichiers Excel en VB.NET n'a jamais été aussi simple — et vous n'avez pas besoin d'installer Microsoft Office. De la lecture sécurisée de plusieurs types de données à l'itération sur de grandes feuilles de calcul, en passant par la gestion des formules et des cellules vides, jusqu'au traitement de classeurs à plusieurs feuilles, IronXL simplifie tous les aspects de l'automatisation Excel.

Cette bibliothèque .NET moderne élimine la complexité de l'interopérabilité, évite les conflits de versions et fonctionne de manière transparente sur les environnements Windows, Linux et cloud. Que vous développiez un petit outil de vérification d'inventaire ou que vous traitiez des données Excel à l'échelle de l'entreprise, IronXL offre des performances fiables, un code concis et une gestion des erreurs robuste.

Prêt à rationaliser vos flux de travail Excel VB.NET ? Démarrez votre essai gratuit d'IronXL dès aujourd'hui et découvrez une façon plus rapide, plus propre et totalement indépendante d'Office de travailler avec des fichiers Excel. Explorez notre documentation et nos tutoriels pour exploiter pleinement la puissance d'IronXL dans vos applications.

Commencez avec IronXL maintenant.
green arrow pointer

Questions Fréquemment Posées

Comment puis-je ouvrir un fichier Excel dans VB.NET sans Microsoft Office ?

Vous pouvez ouvrir et lire des fichiers Excel dans VB.NET sans Microsoft Office en utilisant la bibliothèque IronXL. IronXL offre un moyen simple de travailler avec les fichiers Excel sans le besoin de Microsoft Office ou de méthodes Interop complexes.

Quels sont les avantages de l'utilisation d'IronXL pour le traitement des fichiers Excel en VB.NET ?

IronXL simplifie le traitement des fichiers Excel en VB.NET en éliminant la nécessité de Microsoft Office et en évitant les références COM complexes. Il assure la compatibilité dans différents environnements tels que les serveurs et les plateformes cloud, et aide à éviter les conflits de version.

Est-il possible de traiter à la fois les fichiers XLSX et XLS en utilisant IronXL ?

Oui, IronXL prend en charge le traitement des formats de fichiers XLSX et XLS, vous permettant d'ouvrir, lire et manipuler ces fichiers Excel dans vos applications VB.NET.

Dois-je installer un logiciel supplémentaire pour utiliser IronXL ?

Aucun logiciel supplémentaire n'est nécessaire pour utiliser IronXL pour le traitement des fichiers Excel en VB.NET. IronXL est une bibliothèque autonome qui s'intègre directement dans vos projets VB.NET.

IronXL peut-il être utilisé dans des environnements cloud ?

Oui, IronXL est conçu pour fonctionner de manière transparente dans les environnements cloud, en évitant les problèmes courants avec les méthodes Interop Excel traditionnelles qui rencontrent souvent des conflits de version sur les serveurs ou les plateformes cloud.

Comment IronXL gère-t-il la compatibilité des fichiers Excel ?

IronXL assure la compatibilité en prenant en charge plusieurs formats de fichiers Excel tels que XLSX et XLS, et en fournissant une fonctionnalité robuste pour manipuler et traiter ces fichiers sans s'appuyer sur Microsoft Office.

IronXL est-il compatible avec différentes versions de VB.NET ?

IronXL est compatible avec diverses versions de VB.NET, ce qui en fait une solution polyvalente pour les développeurs travaillant avec différentes versions du framework .NET.

Quels sont les défis communs de l'utilisation des méthodes Interop traditionnelles pour Excel en VB.NET ?

Les méthodes Interop traditionnelles nécessitent souvent Microsoft Office, impliquent des références COM complexes et sont sujettes à des conflits de version, surtout dans les environnements serveur ou cloud. IronXL offre une solution à ces défis en fournissant une approche plus fiable et simple.

IronXL peut-il être utilisé pour la manipulation de fichiers Excel, comme l'édition ou l'exportation de données ?

Oui, IronXL fournit des fonctionnalités non seulement pour lire des fichiers Excel mais aussi pour éditer et exporter des données, en faisant un outil complet pour la manipulation de fichiers Excel en VB.NET.

Où puis-je trouver des exemples de code fonctionnels pour utiliser IronXL en VB.NET ?

Vous pouvez trouver des exemples de code fonctionnels pour utiliser IronXL en VB.NET dans la documentation et les tutoriels IronXL, qui fournissent des instructions étape par étape sur le traitement des fichiers Excel sans Microsoft Office.

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