Passer au contenu du pied de page
UTILISATION D'IRONXL
Comment lire les données Excel et les insérer dans une table de base de données en C# | IronXL

Lire des données Excel et les insérer dans une base de données avec C#

Cet article explique comment utiliser IronXL, une bibliothèque Excel en C#, pour lire des données à partir d'un fichier Excel et les insérer dans une table de base de données.

1. IronXL

IronXL est une puissante bibliothèque logicielle conçue pour les développeurs .NET, leur fournissant une API facile à utiliser pour lire, écrire et manipuler des fichiers Excel dans leurs applications .NET. Elle offre un ensemble complet de fonctionnalités pour la création, la modification et l'exportation de feuilles de calcul Excel, sans nécessiter l'installation de Microsoft Office ou d'Excel sur la machine cible. Compatible avec de nombreux formats de fichiers , dont XLS, XLSX, CSV, TSV et bien d'autres, cette bibliothèque permet aux développeurs de créer facilement des applications Excel déployables partout. IronXL offre également des fonctionnalités avancées telles que la création de graphiques , la visualisation des données et l'analyse des données afin de rationaliser le processus de développement pour les projets de petite et de grande envergure.

2. Prérequis

Avant de pouvoir utiliser la bibliothèque IronXL pour écrire dans une base de données à partir d'un fichier Excel, vous devez remplir certaines conditions préalables. Ils comprennent :

  • Avoir Visual Studio installé sur votre ordinateur pour créer un projet C#.
  • Assurez-vous également qu'ASP.NET est installé sur votre système avant de créer un projet C#.
  • Installez la bibliothèque IronXL sur votre système pour exporter des données. Vous pouvez l'obtenir en téléchargeant le package NuGet IronXL depuis le gestionnaire de packages NuGet dans Visual Studio.
  • SQL est installé dans Visual Studio.

3. Créer un Nouveau Projet dans Visual Studio

Avant de pouvoir utiliser la bibliothèque IronXL pour effectuer des opérations liées à Excel, vous devez créer un projet .NET dans Visual Studio. Bien que toutes les versions de Visual Studio soient compatibles, il est recommandé d'utiliser la dernière version disponible. Vous pouvez choisir parmi différents modèles de projet tels que Windows Forms et ASP.NET, en fonction des exigences de votre projet. Pour ce tutoriel, le modèle de projet d'application console est recommandé afin de démontrer comment utiliser IronXL.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 1 : Créer une nouvelle fenêtre de projet Créer un nouveau projet

Une fois le type de projet choisi, il vous faut nommer le projet et sélectionner son emplacement. Vous pouvez également spécifier le framework préféré, tel que .NET Core 6, pour le projet.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 2 : Configuration du projet Configuration du projet

Après la création du nouveau projet, vous pouvez accéder au fichier program.cs où vous pouvez écrire du code et exécuter l'application.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 3 : Projet avec code source ouvert Projet avec code source ouvert

Le projet Visual Studio étant maintenant créé, installons IronXL.

4. Installer IronXL

La bibliothèque IronXL peut être téléchargée et installée de différentes manières, mais cet article se concentre sur les deux méthodes les plus simples :

  • Utilisation des packages NuGet dans Visual Studio.
  • À l'aide de la Ligne de Commande de Visual Studio.

4.1 Utilisation de Visual Studio

Pour installer la bibliothèque IronXL, la première approche consiste à utiliser le gestionnaire de packages NuGet dans Visual Studio. Ouvrez simplement le gestionnaire de packages NuGet et recherchez IronXL dans l'onglet Parcourir. Une fois que vous avez trouvé IronXL dans les résultats de recherche, sélectionnez-le et procédez à l'installation. Une fois l'installation terminée, vous pouvez commencer à utiliser la bibliothèque IronXL dans votre projet.

La capture d'écran suivante montre comment ouvrir le Gestionnaire de packages NuGet dans Visual Studio.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 4 : Gestionnaire de packages NuGet Gestionnaire de paquets NuGet

La capture d'écran suivante montre IronXL dans les résultats de recherche :

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 5 : Résultat de la recherche IronXL Résultats de recherche IronXL

4.2 Utilisation de la ligne de commande de Visual Studio

De nombreux développeurs préfèrent installer les paquets via une interface en ligne de commande. Pour installer IronXL à l'aide de la ligne de commande, suivez ces étapes :

  • Dans Visual Studio, allez à Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages.
  • Entrez la ligne suivante dans l'onglet Console du gestionnaire de packages :

    Install-Package IronXL
    Install-Package IronXL
    SHELL

Le package sera téléchargé et installé dans le projet actuel.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 6 : Installation via la ligne de commande Installation via la ligne de commande

5. Installation et configuration de la base de données SQL Server

Pour installer et intégrer la table de base de données SQL Server à votre projet C#, accédez d'abord au gestionnaire de packages NuGet, recherchez System.Data.SqlClient et installez-le.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 7 : Recherche et installation de SqlClient dans l'interface utilisateur du gestionnaire de packages NuGet Rechercher et installer SqlClient dans l'interface utilisateur du gestionnaire de packages NuGet

Une fois installé, accédez au menu du projet et cliquez sur " Ajouter un nouvel élément ".

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 8 : Ajouter un nouvel élément Ajouter un nouvel élément

Une nouvelle fenêtre apparaîtra. Sélectionnez " Données " dans le menu latéral, puis cliquez sur " Base de données orientée services " dans la liste. Saisissez un nom approprié pour la base de données et cliquez sur le bouton " Ajouter ".

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 9 : Sélection d'une base de données basée sur un service Sélectionner une base de données orientée services

Ensuite, dans l'Explorateur de solutions, cliquez avec le bouton droit sur la base de données nouvellement créée et sélectionnez " Ouvrir ". Cela ouvrira une nouvelle barre latérale.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 10 : Cliquez avec le bouton droit et sélectionnez Ouvrir. Faites un clic droit et sélectionnez Ouvrir

Dans la nouvelle barre latérale, cliquez sur votre base de données et accédez à ses propriétés. À partir de là, copiez la chaîne de connexion.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 11 : Cliquez avec le bouton droit et sélectionnez Propriétés. Faites un clic droit et sélectionnez Propriétés

Comment lire les données Excel et les insérer dans une table de base de données en C#, Figure 12 : Gérer la chaîne de connexion Chaîne de connexion de gestion

Après avoir copié les préférences de connexion, cliquez sur votre instance de base de données pour ouvrir une nouvelle liste. Faites un clic droit sur le dossier de la table et sélectionnez " Ajouter une nouvelle table ".

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 13 : Ajouter une nouvelle table Ajouter une nouvelle table

Pour créer une nouvelle table dans la base de données, suivez ces étapes :

  1. Ouvrez une nouvelle page de conception de tableau de données.
  2. Ajoutez la requête SQL suivante, qui créera une nouvelle table avec trois colonnes : Id , Name et Number .
  3. Cliquez sur le bouton " Mettre à jour " en haut de la page.
  4. La table nouvellement générée sera ajoutée à la base de données.
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] VARCHAR(100) NOT NULL,
  [Number] INT
)

Maintenant que l'environnement SQL est configuré, créons quelques exemples de données pour alimenter cette base de données à partir de données Excel.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 14 : Données du fichier Excel données de fichier Excel

6. Importer des données d'un fichier Excel et les exporter vers une base de données à l'aide d'IronXL

Avec IronXL, les développeurs peuvent automatiser le processus de transfert de données entre les fichiers Excel et les bases de données, ce qui permet de gagner un temps et des efforts considérables. En utilisant IronXL, les développeurs peuvent rationaliser leur flux de travail et éliminer le besoin de saisie manuelle de données, garantissant ainsi l'exactitude et la mise à jour des données.

Une fois le serveur SQL configuré et la chaîne de connexion copiée, il suffit de coller cette dernière dans le code ci-dessous, de lier votre fichier Excel au code et de modifier la requête SQL si nécessaire. Il suffit ensuite d'exécuter le code et les données seront exportées vers la table de la base de données.

using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"; 

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");

// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();

// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";

// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"; 

// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open(); // Open connection
    // Use SqlDataAdapter to update SQL table with DataSet from Excel file
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
$vbLabelText   $csharpLabel

Pour vérifier si les données ont bien été exportées vers la base de données, cliquez à nouveau avec le bouton droit sur le répertoire de la table et cliquez sur " Nouvelle requête ". Une nouvelle page s'ouvrira ; sélectionnez votre base de données dans la barre supérieure et exécutez la requête SQL appropriée pour récupérer les données.

SELECT * FROM [dbo].[Table]

Appuyez sur le bouton vert, et le résultat s'affichera dans une seconde.

Comment lire des données Excel et les insérer dans une table de base de données en C# ? Figure 15 : Données de la base de données Données de base de données

Voici comment enregistrer des données importées d'un fichier Microsoft Excel dans une base de données.

7. Conclusion

L'utilisation de feuilles de calcul Excel est une tâche courante dans de nombreuses applications, et l'insertion de données d'une feuille Excel dans une table de base de données peut simplifier les processus de gestion des données. Une façon d'y parvenir en C# consiste à utiliser des bibliothèques permettant de lire et de manipuler des fichiers Excel, telles que IronXL. Grâce à cette bibliothèque, les développeurs peuvent facilement extraire des données d'une feuille Excel et les insérer dans une table de base de données, simplifiant ainsi le processus de gestion des données et réduisant les risques d'erreurs. Cet article décrit les étapes nécessaires pour ajouter des données provenant d'un fichier Excel à une table SQL Server dans une base de données SQL Server à l'aide de la bibliothèque IronXL. Il fournit également une brève introduction à la bibliothèque IronXL, aborde les prérequis nécessaires à l'insertion de données et décrit comment créer un nouveau projet dans Visual Studio, installer IronXL et configurer une base de données SQL Server. Veuillez consulter le tutoriel suivant pour apprendre à lire des fichiers Excel en C#.

De plus, IronXL offre également des fonctionnalités avancées, notamment la prise en charge de la mise en forme des cellules ( alignement du texte, taille de la police, couleur) , le gel des panneaux , l'ajout de formules , l'application d'une mise en forme conditionnelle et le chiffrement par mot de passe .

Les utilisateurs peuvent également bénéficier d' [Iron Suite](Iron Suite) , une collection d'outils de développement logiciel comprenant IronPDF, IronOCR, IronXL, IronBarcode et IronWebScraper.

Questions Fréquemment Posées

Comment puis-je lire des données à partir d'un fichier Excel en C# ?

Vous pouvez utiliser IronXL pour lire des données à partir d'un fichier Excel en C#. IronXL fournit des méthodes pour ouvrir et lire des fichiers Excel, vous permettant d'accéder aux données et de les manipuler par programmation.

Quelles sont les étapes pour insérer des données Excel dans une base de données SQL en C# ?

Pour insérer des données Excel dans une base de données SQL en utilisant C#, commencez par lire les données avec IronXL et les convertir en un DataSet. Ensuite, utilisez SqlDataAdapter pour mettre à jour la table de la base de données SQL avec le DataSet.

Comment créer une nouvelle table de base de données pour importer des données Excel ?

Vous pouvez créer une nouvelle table de base de données en exécutant une requête SQL telle que CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT ) pour définir la structure de la table.

Quelles sont les conditions préalables à l'utilisation de IronXL dans un projet C# ?

Les prérequis incluent avoir Visual Studio installé, la bibliothèque IronXL du gestionnaire de packages NuGet, et SQL Server configuré dans votre environnement Visual Studio.

Comment vérifier que les données Excel ont été insérées avec succès dans une base de données ?

Vous pouvez vérifier l'insertion des données en exécutant une requête SQL telle que SELECT * FROM [dbo].[Table] pour récupérer et examiner les entrées de données dans la base de données SQL Server.

Quelles sont les fonctionnalités avancées offertes par IronXL ?

IronXL offre des fonctionnalités avancées telles que la création de graphiques, la visualisation de données, le formatage des cellules, le gel des volets, l'ajout de formules, le formatage conditionnel et le cryptage par mot de passe.

Comment puis-je installer IronXL dans mon projet Visual Studio?

Vous pouvez installer IronXL dans votre projet Visual Studio en utilisant le gestionnaire de packages NuGet pour rechercher et installer IronXL, ou en exécutant Install-Package IronXL dans la ligne de commande Visual Studio.

Pourquoi devrais-je utiliser IronXL pour le transfert de données entre Excel et les bases de données SQL ?

Utiliser IronXL pour le transfert de données entre Excel et les bases de données SQL automatise le processus, garantissant l'exactitude des données et gagnant du temps tout en maintenant des informations à jour.

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