IRONSOFTWAREHOME
UTILISATION D'IRONXL

Comment importer Excel vers SQL Server en C#

Curtis Chau
Curtis Chau
Updated: 28 juin 2026

Dans de nombreux contextes commerciaux différents, l'importation de données d'Excel vers SQL Server est une nécessité courante. Cette activité consiste à lire des données à partir d'un fichier Excel et à les saisir dans une base de données SQL Server. Bien que l'assistant d'exportation soit souvent utilisé, IronXL offre une approche plus programmatique et flexible de la gestion des données. IronXL est une puissante bibliothèque C# capable d'importer des données Excel à partir de fichiers ; Il est donc possible d'accélérer cette opération. À cette fin, cet article propose un guide pratique détaillé qui aborde la configuration, l'exécution et l'amélioration de l'importation de fichiers Excel vers SQL Server à l'aide de C#.

Comment importer Excel vers SQL Server en C# : Figure 1 - IronXL : La bibliothèque Excel C#

How to Import Excel to SQL Server in C#

  1. Configurez votre environnement de développement
  2. Préparez votre fichier Excel
  3. Connectez-vous à votre base de données SQL Server
  4. Lire les données des fichiers Excel à l'aide d'IronXL
  5. Exporter les données et générer un rapport PDF à l'aide d'IronPDF
  6. Examiner le rapport PDF

Qu'est-ce qu'IronXL ?

IronXL, parfois appelé IronXL.Excel, est une bibliothèque C# riche en fonctionnalités conçue pour faciliter le travail avec les fichiers Excel dans les applications .NET. Cet outil performant est idéal pour les applications côté serveur car il permet aux développeurs de lire, de créer et de modifier des fichiers Excel sans avoir besoin d'installer Microsoft Excel sur l'ordinateur. IronXL prend en charge les formats Excel 2007 et versions ultérieures (.xlsx) et Excel 97–2003 (.xls), offrant ainsi une grande polyvalence dans la gestion de différentes versions de fichiers Excel. Il permet une manipulation importante des données, comme la manipulation des feuilles de calcul, des lignes et des colonnes, en plus de l'insertion, de la mise à jour et de la suppression des données.

IronXL prend également en charge la mise en forme des cellules et les formules Excel, permettant la génération programmée de feuilles de calcul complexes et bien formatées. Grâce à son optimisation des performances et à sa compatibilité avec de multiples plateformes .NET, notamment .NET Framework, .NET Core et .NET 5/6, IronXL garantit une gestion efficace des ensembles de données volumineux. Grâce à son interface fluide avec d'autres frameworks .NET, il constitue une option flexible pour les développeurs souhaitant intégrer les opérations sur les fichiers Excel dans leurs applications, que ce soit pour des activités d'importation/exportation de données simples ou des systèmes de reporting complexes.

Fonctionnalités clés

Lire et écrire des fichiers Excel

Les développeurs peuvent lire et écrire des données à partir de fichiers Excel grâce à IronXL. Il est simple de créer de nouveaux fichiers Excel et de modifier ceux qui existent déjà.

Aucune installation requise pour Microsoft Excel

IronXL ne nécessite pas l'installation de Microsoft Excel sur l'ordinateur hébergeant l'application, contrairement à certaines autres bibliothèques. C'est pourquoi c'est parfait pour les applications côté serveur.

Prise en charge de différents formats Excel

La bibliothèque offre une grande polyvalence dans la gestion de différents types de fichiers Excel grâce à la prise en charge des formats .xls (Excel 97-2003) et .xlsx (Excel 2007 et versions ultérieures).

Créer un Nouveau Projet Visual Studio

Créer un projet console Visual Studio est simple. Dans Visual Studio, procédez comme suit pour créer une application console :

  1. Ouvrez Visual Studio : assurez-vous d'avoir installé Visual Studio sur votre ordinateur avant de l'ouvrir.
  2. Démarrez un nouveau projet : Choisissez File -> New -> Project.

Comment importer Excel vers SQL Server en C# : Figure 2 - Cliquez sur Nouveau

  1. Depuis le panneau de gauche de la boîte Create a new project, choisissez votre langage de programmation préféré — par exemple, C#.
  2. Sélectionnez le modèle Console App ou Console App (.NET Core) dans la liste des modèles de projet disponibles.
  3. Dans la zone Nom , donnez un nom à votre projet.

Comment importer Excel vers SQL Server en C# : Figure 3 - Fournir un nom et un emplacement de sauvegarde

  1. Choisissez un emplacement pour enregistrer le projet.
  2. Cliquez sur Créer pour lancer un projet d'application pour une console.

Comment importer Excel vers SQL Server en C# : Figure 4 - Enfin, cliquez sur créer pour lancer une application

Installation de la bibliothèque IronXL

L'installation de la bibliothèque IronXL est requise en raison de la prochaine mise à jour. Enfin, pour terminer la procédure, lancez la console du gestionnaire de packages NuGet et saisissez la commande suivante :

PM > Install-Package IronXL.Excel

Comment importer Excel vers SQL Server en C# : Figure 5 - Saisissez la commande ci-dessus dans la Console du Gestionnaire de Packages NuGet pour installer IronXL

Utiliser le Gestionnaire de Packages NuGet pour rechercher le package IronXL est une autre méthode. Cela nous permet de sélectionner les packages NuGet liés à IronXL à télécharger.

Comment importer Excel vers SQL Server en C# : Figure 6 - Alternativement, recherchez IronXL en utilisant le Gestionnaire de Packages NuGet et installez-le

Importez des fichiers Excel vers SQL avec IronXL

Lecture de données depuis Excel avec IronXL

IronXL simplifie le processus de lecture des données à partir de fichiers Excel. L'exemple suivant illustre l'utilisation d'IronXL pour lire des données à partir d'un fichier Excel. Cette méthode consiste à lire les données et à les enregistrer dans une liste de dictionnaires, chacun correspondant à une ligne de la feuille Excel.

using IronXL;
using System;
using System.Collections.Generic;

public class ExcelReader
{
    public static List<Dictionary<string, object>> ReadExcelFile(string filePath)
    {
        // Initialize a list to store data from Excel
        var data = new List<Dictionary<string, object>>();

        // Load the workbook from the file path provided
        WorkBook workbook = WorkBook.Load(filePath);

        // Access the first worksheet in the workbook
        WorkSheet sheet = workbook.WorkSheets[0];

        // Retrieve column headers from the first row
        var headers = new List<string>();
        foreach (var header in sheet.Rows[0].Columns)
        {
            headers.Add(header.ToString());
        }

        // Loop through each row starting from the second row
        for (int i = 1; i < sheet.Rows.Count; i++)
        {
            // Create a dictionary to store the row data associated with column headers
            var rowData = new Dictionary<string, object>();
            for (int j = 0; j < headers.Count; j++)
            {
                rowData[headers[j]] = sheet.Rows[i][j].Value;
            }
            data.Add(rowData);
        }

        return data;
    }
}

Connexion à SQL Server

Utilisez la classe SqlConnection du namespace System.Data.SqlClient pour établir une connexion à SQL Server. Assurez-vous de disposer de la chaîne de connexion correcte, qui se compose généralement du nom de la base de données, du nom du serveur et des informations d'authentification. L'exemple suivant explique comment se connecter à une base de données SQL Server et y ajouter des données.

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;

public class SqlServerConnector
{
    private string connectionString;

    // Constructor accepts a connection string
    public SqlServerConnector(string connectionString)
    {
        this.connectionString = connectionString;
    }

    // Inserts data into the specified table
    public void InsertData(Dictionary<string, object> data, string tableName)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            // Construct an SQL INSERT command with parameterized values to prevent SQL injection
            var columns = string.Join(",", data.Keys);
            var parameters = string.Join(",", data.Keys.Select(key => "@" + key));
            string query = $"INSERT INTO {tableName} ({columns}) VALUES ({parameters})";

            using (SqlCommand command = new SqlCommand(query, connection))
            {
                // Add parameters to the command
                foreach (var kvp in data)
                {
                    command.Parameters.AddWithValue("@" + kvp.Key, kvp.Value ?? DBNull.Value);
                }

                // Execute the command
                command.ExecuteNonQuery();
            }
        }
    }
}

Combinaison d'IronXL avec SQL Server

Une fois la logique de lecture des fichiers Excel et d'insertion des données dans une base de données SQL établie, intégrez ces fonctionnalités pour finaliser le processus d'importation. L'application qui suit reçoit des informations d'un fichier Excel et les ajoute à une base de données Microsoft SQL Server.

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        // Define the path to the Excel file, SQL connection string, and target table name
        string excelFilePath = "path_to_your_excel_file.xlsx";
        string connectionString = "your_sql_server_connection_string";
        string tableName = "your_table_name";

        // Read data from Excel
        List<Dictionary<string, object>> excelData = ExcelReader.ReadExcelFile(excelFilePath);

        // Create an instance of the SQL connector and insert data
        SqlServerConnector sqlConnector = new SqlServerConnector(connectionString);
        foreach (var row in excelData)
        {
            sqlConnector.InsertData(row, tableName);
        }

        Console.WriteLine("Data import completed successfully.");
    }
}

Cette classe est chargée d'utiliser IronXL pour lire les données du fichier Excel donné. La fonction ReadExcelFile charge le classeur Excel, ouvre la première feuille de calcul et collecte les données en parcourant les lignes de la feuille de données. Pour faciliter la gestion des tableaux, les informations sont conservées dans une liste de dictionnaires.

Comment importer Excel vers SQL Server en C# : Figure 7 - Exemple de fichier Excel d'entrée

Cette classe insère les données dans la table de base de données désignée et gère également la connexion à la base de données SQL Server. La méthode InsertData utilise des requêtes paramétrées pour empêcher l'injection SQL et construit dynamiquement une requête SQL INSERT basée sur les clés du dictionnaire, qui représentent les noms des colonnes.

En utilisant la classe ExcelReader pour lire les données dans la table SQL à partir du fichier Excel et la classe SqlServerConnector pour insérer chaque ligne dans la table SQL Server, la fonction Main gère l'ensemble du processus.

Comment importer Excel vers SQL Server en C# : Figure 8 - Résultat montrant une requête réussie sur le SQL Server

La gestion des erreurs et l'optimisation sont essentielles pour garantir un processus d'importation robuste et efficace. La mise en œuvre d'une gestion robuste des erreurs permet de gérer les problèmes potentiels tels que les fichiers manquants, les formats de données invalides et les exceptions SQL. Voici un exemple d'intégration de la gestion des erreurs.

try
{
    // Insert the importing logic here
}
catch (Exception ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}

Conclusion

Enfin, une méthode efficace et fiable pour gérer les fichiers Excel dans les applications .NET consiste à importer les données d'Excel dans une base de données MS SQL à l'aide de C# et d'IronXL. IronXL est compatible avec de nombreux formats Excel et possède des fonctionnalités puissantes qui facilitent la lecture et l'écriture des données Excel sans qu'il soit nécessaire d'installer Microsoft Excel. Grâce à l'intégration de System.Data.SqlClient avec IronXL, les développeurs peuvent facilement déplacer des données entre les SQL Servers en utilisant des requêtes paramétrées pour améliorer la sécurité et empêcher l'injection SQL.

Enfin, l'ajout d'IronXL et d'Iron Software à votre boîte à outils pour le développement .NET vous permet de manipuler efficacement Excel, de créer des PDF, d'effectuer une reconnaissance optique de caractères (OCR) et d'utiliser des codes-barres. L'association de la suite flexible d'Iron Software avec la simplicité d'utilisation, l'interopérabilité et les performances d'IronXL garantit un développement rationalisé et des capacités applicatives améliorées. Grâce à des options de licence claires et personnalisées en fonction des exigences du projet, les développeurs peuvent choisir le modèle adapté en toute confiance. En tirant parti de ces avantages, les développeurs peuvent s'attaquer efficacement à toute une série de difficultés tout en maintenant la conformité et la transparence.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise