UTILISATION D'IRONXL

Comment importer un fichier Excel dans une base de données SQL en VB .NET

Publié janvier 27, 2024
Partager:

Introduction

Les bases de données SQL et Excel sont deux outils d'administration et d'analyse efficaces, chacun disposant de fonctions et de capacités particulières.

Excel

Excel est un tableur populaire créé par Microsoft. Son interface conviviale et sa capacité à gérer différentes activités d'organisation, de calcul, d'analyse et de visualisation des données lui ont valu sa réputation. Les utilisateurs peuvent saisir des données dans les cellules de la feuille Excel disposées en lignes et en colonnes, effectuer des opérations mathématiques et produire des diagrammes, des graphiques et des tableaux croisés dynamiques pour résumer et analyser les données ou importer des données d'Excel. Excel est un outil largement utilisé par les particuliers, les entreprises et les organisations à de nombreuses fins, telles que l'analyse financière, la gestion des stocks, l'établissement de rapports et la budgétisation.

SQL

Les données structurées sont stockées, gérées et extraites à l'aide de bases de données compatibles avec le langage SQL(Langage de requête structuré). Ils reposent sur le modèle relationnel et sont constitués de tableaux avec des lignes et des colonnes. Les utilisateurs peuvent construire, modifier et interroger des bases de données à l'aide de commandes SQL et de bases de données SQL telles que MySQL, PostgreSQL, SQL Server et SQLite. Ces bases de données offrent de solides capacités de récupération et de manipulation des données, une grande évolutivité et une garantie d'intégrité.

Dans cet article, nous allons voir comment VB.NET importe des fichiers Excel dans la table de la base de données SQL Server sans utiliser le fournisseur Microsoft.ACE.OLEDB.12.0.

Comment utiliser VB.NET pour importer des fichiers Excel dans une base de données SQL

  1. Créez un nouveau projet Visual Studio.

  2. Installer la bibliothèque requise.

  3. Nous pouvons maintenant importer un fichier Excel et le convertir en tableau de données ou récupérer des données.

  4. Se connecter à la base de données SQL.

  5. Enregistrez les données importées dans la table de la base de données.

  6. Fermez la connexion SQL et éliminez l'objet.

Qu'est-ce qu'IronXL ?

Un puissant Framework .NET appeléIronXL a été créé pour faciliter le traitement des fichiers Excel écrits en C#, VB.NET, Visual Basic et autres langages .NET. Il est compatible avec les formats de fichiers XLS et XLSX. Cette bibliothèque permet aux développeurs d'écrire, de lire, d'éditer et de générer des feuilles de calcul Excel plus facilement et plus rapidement. Une vaste gamme d'outils et de fonctions est également disponible.

Les principales caractéristiques et capacités d'IronXL sont les suivantes :

  • Traitement des données : IronXL facilite la lecture, l'écriture et la manipulation des données dans les feuilles de calcul Excel. Un tableau à deux dimensions peut être utilisé pour récupérer les cellules, et les calculs, les formules et le formatage des données sont tous possibles.
  • Création et modification de fichiers Excel : Outre la création de nouveaux fichiers Excel et la modification de fichiers existants, les développeurs peuvent également ajouter, supprimer et gérer des feuilles de calcul. Ils peuvent également travailler avec de nombreux composants Excel.
  • IronXL peut être utilisé dans une série de scénarios d'application et est compatible avec plusieurs plateformes .NET, notamment Xamarin, .NET Core et .NET Framework, grâce à son interopérabilité multiplateforme.
  • Polyvalence et compatibilité : Il prend en charge à la fois l'ancien format XLS et le format plus moderne XLSX et est compatible avec plusieurs versions d'Excel.
  • Prise en charge des formats Excel anciens et modernes : Il peut prendre en charge les formats plus contemporains basés sur XML(XLSX, qui remonte à Excel 2007) et les formats de fichiers Excel plus traditionnels(XLS, qui remonte à Excel 97-2003).
  • Utilité : En proposant une API directe avec des propriétés et des fonctions faciles à comprendre, la bibliothèque rend les activités liées à Excel plus accessibles aux développeurs plus ou moins expérimentés.
  • Extraction et exportation de données : IronXL facilite l'extraction des données des fichiers Excel et l'exportation des données Excel vers plusieurs formats, ce qui simplifie l'interface avec les bases de données et autres systèmes.
  • Documentation et assistance : IronXL fournit une abondante documentation, des tutoriels et une assistance pour aider les développeurs à utiliser sa bibliothèque pour des tâches liées à Excel.
  • Automatisation et efficacité : En automatisant les tâches Excel, IronXL permet aux utilisateurs d'être plus productifs, de consacrer moins de temps au travail manuel et de développer des applications efficaces axées sur les données.
  • Intégration et personnalisation : Il facilite la création de rapports personnalisés ou de solutions basées sur les données en offrant la possibilité d'exporter les données Excel dans une variété de formats. Il fonctionne bien avec les bases de données et d'autres systèmes.

    Le financement, l'analyse des données, l'établissement de rapports, la veille stratégique et le développement de logiciels ne sont que quelques-uns des nombreux domaines qui emploient IronXL. Il permet aux développeurs de travailler avec des fichiers Excel de manière programmatique et de produire des solutions fiables qui combinent l'intégration d'Excel et la manipulation de données. Cliquez surici pour en savoir plus.

Créer un nouveau projet Visual Studio

Il est facile de créer un projet de console Visual Studio. Pour créer une application console dans Visual Studio, procédez comme suit :

  1. Lancer Visual Studio : Ouvrir Visual Studio(assurez-vous que Visual Studio est installé sur votre PC).

Démarrer un nouveau projet

Sélectionnez Fichier, puis Nouveau, puis Projet.

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 1 - Application console

Sélectionnez votre langage de programmation préféré, tel que C#, dans le panneau gauche de la boîte "Créer un nouveau projet".

Ensuite, dans la liste des modèles de projet disponibles, choisissez "Console App " ou "Console App(.NET Core)" template.

Donnez un nom à votre projet en remplissant la section "Nom ".

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 2 - Configuration du projet

Sélectionnez l'endroit où le projet doit être enregistré.

Pour démarrer un nouveau projet d'application Console, cliquez sur "Créer ".

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 3 - Créer une application console

Installation de la bibliothèque IronXL

Pour installer la bibliothèque IronXL, procédez comme suit :

  1. Ouvrez la console de NuGet Package Manager en allant sur Outils > NuGet Package Manager > Console de gestion des paquets.

  2. Utilisez la commande suivante pour installer la bibliothèque IronXL :
Install-Package IronXL.Excel

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 4 - Installer IronXL

Vous pouvez également installer la bibliothèque IronXL à l'aide du gestionnaire de paquets NuGet. Il suffit de rechercher le paquet "IronXL" et de choisir dans la liste les paquets NuGet associés à IronXL que vous souhaitez télécharger.

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 5 - IronXL

IronXL pour importer et ajouter dans une base de données SQL

Ces procédures peuvent être utilisées pour importer des données d'un fichier Excel à l'aide d'IronXL et les ajouter ensuite à une base de données SQL à l'aide de VB.NET. Cet exemple montre comment utiliser IronXL pour lire un fichier Excel et insérer les données dans une base de données SQL Server.

Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB.NET

Grâce à son API, IronXL propose une méthode pratique pour charger des fichiers Excel(WorkBook.Load) et de récupérer leur contenu, ce qui permet d'itérer à travers les lignes et les cellules(objets ExcelRow et ExcelCell).

Le programme lit les données du fichier Excel à l'aide d'IronXL, récupère les valeurs des cellules pour chaque ligne et les stocke dans des structures de données appropriées en vue d'un traitement ultérieur.

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 6 - Fichier Excel

Ensuite, le programme se connecte à la base de données SQL Server en utilisant une chaîne de connexion et l'espace de noms System.Data.SqlClient. Des requêtes SQL INSERT sont ensuite préparées pour insérer les données Excel dans la table SQL correspondante. Le programme utilise des commandes SQL paramétrées(SqlCommand) pour insérer les données Excel dans la base de données SQL en faisant correspondre les valeurs des cellules récupérées aux paramètres de requête SQL appropriés et en exécutant la commande INSERT à l'aide de command.ExecuteNonQuery().

Comment importer un fichier Excel dans une base de données SQL en VB .NET : Figure 7 - SQL Server

Pour en savoir plus sur le code, consultezici.

Conclusion

La bibliothèque IronXL, qui est une bibliothèque d'objets Excel, est largement utilisée par plusieurs secteurs, notamment le développement de logiciels, la finance, l'analyse de données et la création de rapports. Il s'agit d'un outil essentiel pour les entreprises et les développeurs qui cherchent à maximiser leurs opérations à l'aide d'Excel. IronXL permet de créer des applications dynamiques, centrées sur les données, qui gèrent de manière efficace et programmatique les fichiers Excel.

En résumé, l'utilisation d'IronXL for .NET dans une application VB.NET permet un transfert transparent des données des fichiers Excel vers les bases de données SQL, offrant ainsi efficacité et flexibilité dans la gestion des données sur les deux plates-formes. IronXL propose une édition communautaire gratuite avec des limitations pour une utilisation non commerciale. Les versions payantes, à partir de $749, peuvent être achetées par le biais de modèles d'abonnement ou de licences perpétuelles et offrent des caractéristiques supplémentaires, une assistance et des fonctionnalités complètes. Veuillez consulter le site officiel d'IronXLsite web pour obtenir des informations complètes et actualisées sur les licences. Pour plus d'informations sur les produits d'Iron Software, consultez le site suivantlien.

< PRÉCÉDENT
Comment convertir un fichier Excel en XML en C#
SUIVANT >
Comment importer un fichier CSV dans une base de données en C# ?