Passer au contenu du pied de page
UTILISATION D'IRONXL
Comment convertir Excel en DataTable en C# sans oledb | IronXL

Comment convertir Excel en DataTable en C# sans oledb

Microsoft Excel est un programme de feuille de calcul robuste créé par Microsoft. C'est un outil largement utilisé pour l'organisation, l'analyse et la visualisation des données. Il fait partie de la suite Office de Microsoft. En raison de ses diverses fonctionnalités, Excel est un outil polyvalent qui peut être utilisé par des professionnels, des particuliers, des organisations et des universités.

Excel est largement utilisé dans une large gamme de secteurs, y compris la finance, la comptabilité, l'analyse commerciale, l'analyse de données, la recherche, l'éducation et plus encore. En raison de sa polyvalence et de son ensemble de fonctionnalités étendues, c'est l'outil incontournable pour organiser, évaluer et présenter des données dans des situations tant personnelles que professionnelles. Dans cet article, nous allons convertir un fichier Excel en DataTable en C# sans connectivité OLEDB.

Comment convertir un fichier Excel en DataTable en C# sans OLEDB

  1. Créez un nouveau projet Visual Studio.
  2. Installez la bibliothèque requise.
  3. Chargez le fichier Excel dans un objet.
  4. Convertissez les données de la feuille Excel en un DataTable en utilisant des méthodes spécifiques.
  5. Utilisez le DataTable comme requis.

Bibliothèque IronXL

Une alternative à Microsoft Interop pour gérer les fichiers Excel dans les programmes .NET est IronXL. Alors que Microsoft Interop nécessite l'utilisation des assemblages Interop pour se connecter avec Excel, IronXL fournit une manière plus simple, plus efficace et plus puissante de manipuler les fichiers Excel programmatiquement dans les environnements .NET.

Voici quelques avantages de l'utilisation de IronXL :

  • Performance et économie de ressources : IronXL surpasse Microsoft Interop en termes de performance et d'efficacité des ressources car il ne dépend pas de l'installation du programme Excel sur l'ordinateur.
  • Lisibilité et simplicité : IronXL offre une API plus simple, ce qui facilite la lecture, l'écriture et la manipulation de fichiers Excel sans les inconvénients de Microsoft Interop.
  • Compatibilité et dépendance : IronXL élimine les dépendances et les problèmes de compatibilité potentiels avec différentes versions d'Office ou d'Excel en ne nécessitant pas l'installation de Microsoft Excel sur l'ordinateur.
  • Indépendance de la plateforme : Alors que Microsoft Interop est plus étroitement lié à certaines versions de Microsoft Office, IronXL offre plus de flexibilité et de simplicité de déploiement dans une gamme plus large d'environnements et de plateformes.

Parce que IronXL est plus rapide, plus facile à utiliser et nécessite moins d'installations de logiciels tiers, il est souvent un choix préférable pour les développeurs .NET qui doivent travailler programmatiquement avec des fichiers Excel. Cependant, des facteurs comme les spécificités du projet, l'infrastructure préexistante, et la familiarité de l'utilisateur avec chaque bibliothèque peuvent affecter leur choix.

Considérez toujours les besoins de votre application lorsque vous choisissez parmi ces solutions. Pour plus d'informations sur la bibliothèque IronXL, visitez ce site web.

Créer un nouveau projet dans Visual Studio

Pour ouvrir Visual Studio, cliquez sur Fichier dans le menu et sélectionnez "Nouveau projet." Ensuite, choisissez "Application Windows Forms."

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 1

Après avoir sélectionné l'emplacement du fichier, entrez le nom du projet dans la zone de texte appropriée. Ensuite, cliquez sur le bouton "Créer" et choisissez le .NET Framework nécessaire, comme illustré dans l'exemple ci-dessous.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 2

Le type d'application choisi dictera comment le projet Visual Studio est structuré. Pour ajouter du code, vous pouvez entrer dans le fichier Program.cs et construire ou exécuter l'application en utilisant la console, Windows ou l'application web.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 3

Ensuite, ajoutez la bibliothèque nécessaire et testez le code.

Installation de la bibliothèque IronXL

Pour installer la bibliothèque IronXL, ouvrez la console du gestionnaire de packages NuGet et entrez la commande suivante :

Install-Package IronXL.Excel

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 4

Alternativement, vous pouvez utiliser le gestionnaire de packages NuGet pour rechercher le package "IronXL." Cela affichera une liste de packages NuGet liés à IronXL, parmi lesquels vous pourrez choisir celui dont vous avez besoin.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 5

Convertir un fichier Excel en table de données

Le code suivant démontre comment lire un fichier Excel et le convertir en un DataTable après l'installation du package.

// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
' Necessary namespaces for IronXL and application namespaces
Imports IronXL
Imports System
Imports System.Data
Imports System.Windows.Forms

Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		''' <summary>
		''' Exports data from an Excel file specified by the user through a file dialog.
		''' </summary>
		''' <param name="filename">The name of the file to export data from.</param>
		Private Sub ExportData(ByVal filename As String)
			Dim importFilePath As String = String.Empty
			openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
			Dim result As DialogResult = openFileDialog1.ShowDialog()

			If result = System.Windows.Forms.DialogResult.OK Then
				importFilePath = openFileDialog1.FileName
			End If

			If Not String.IsNullOrEmpty(importFilePath) Then
				' Load the Excel document
				Dim excelDoc = WorkBook.Load(importFilePath)
				' Select the first worksheet
				Dim worksheet = excelDoc.WorkSheets(0)
				' Convert worksheet to a DataTable
				Dim dt As DataTable = worksheet.ToDataTable()
				' Bind DataTable to the DataGridView
				dataGridView1.DataSource = dt
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Dans le code ci-dessus :

  • Le formulaire Windows charge les fichiers Excel et les convertit en un nouveau DataTable.
  • Il utilise une boîte de dialogue de fichier ouvert pour permettre à l'utilisateur de choisir un fichier Excel.
  • La méthode WorkBook.Load() d'IronXL est utilisée pour charger le fichier Excel dans un objet Workbook.
  • La première feuille de calcul est sélectionnée à l'aide d'un index ou d'un nom.
  • La méthode ToDataTable est utilisée pour transformer les données de la feuille de calcul en un DataTable.
  • Le DataTable rempli est défini comme source de données pour un contrôle DataGridView sur le formulaire Windows.

En bas, un formulaire et un bouton chargent le fichier Excel dans l'application.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 6

Lorsque l'utilisateur clique sur le bouton "Charger Excel", une boîte de dialogue s'affiche permettant à l'utilisateur de sélectionner un fichier.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 7

Il va ensuite traiter le fichier sélectionné, le convertir en un DataTable et le charger dans un DataGridView.

Comment convertir un fichier Excel en DataTable en C# Sans OLEDB : Figure 8

En savoir plus sur l'utilisation d'IronXL avec les DataTables.

Conclusion

IronXL est l'un des compléments Excel les plus couramment utilisés qui ne dépend d'aucune bibliothèque externe supplémentaire. L'installation de Microsoft Excel est inutile car c'est un programme autonome. Il peut manipuler les fichiers Excel de diverses manières. En revanche, la bibliothèque Interop nécessite d'autres bibliothèques pour analyser les fichiers et modifier les documents Word.

IronXL fournit une solution complète pour tout processus de programmation utilisant des documents Microsoft Excel, y compris des opérations comme les calculs, le tri, la fusion et le stockage de fichiers. Il facilite la gestion des données Excel, la lecture et l'écriture de fichiers de manière plus efficace.

À l'origine, IronXL était au prix de $799. Les utilisateurs peuvent recevoir des mises à jour logicielles et une assistance en payant des frais annuels d'adhésion. IronXL offre également une protection contre la redistribution illégale moyennant des frais. Cliquez ici pour essayer IronXL avec un essai gratuit pour des informations tarifaires plus détaillées. Visit the Iron Software home page for further information on other Iron software products.

Questions Fréquemment Posées

Comment puis-je convertir les données Excel en DataTable en C# sans utiliser OLEDB ?

Pour convertir les données Excel en DataTable en C# sans utiliser OLEDB, vous pouvez utiliser la bibliothèque IronXL. D'abord, configurez un nouveau projet Visual Studio et installez IronXL. Chargez le fichier Excel avec la méthode WorkBook.Load(), sélectionnez la feuille de calcul, puis utilisez la méthode ToDataTable pour convertir les données.

Quel est l'avantage d'utiliser IronXL par rapport à Microsoft Interop pour les opérations Excel ?

IronXL offre de meilleures performances, est efficace en ressources et simplifie le processus de manipulation des fichiers Excel. Il ne requiert pas l'installation de Microsoft Excel, évitant ainsi les problèmes de compatibilité entre différentes versions d'Office.

Comment installer IronXL dans mon projet C# ?

Vous pouvez installer IronXL dans votre projet C# en ouvrant la console du gestionnaire de packages NuGet dans Visual Studio et en exécutant la commande Install-Package IronXL. Alternativement, vous pouvez rechercher IronXL dans le gestionnaire de packages NuGet et l'installer directement.

Est-il nécessaire d'avoir Microsoft Excel installé pour utiliser IronXL ?

Non, il n'est pas nécessaire d'avoir Microsoft Excel installé pour utiliser IronXL. Cette bibliothèque fonctionne indépendamment d'Excel, éliminant toute dépendance ou problème de compatibilité.

Quels sont les avantages de convertir Excel en DataTable en utilisant IronXL ?

Convertir Excel en DataTable en utilisant IronXL offre d'excellentes performances, est facile à utiliser et ne nécessite pas d'installations de logiciels supplémentaires. Cette méthode permet une manipulation efficace des fichiers Excel dans les applications .NET.

IronXL peut-il gérer les fichiers Excel sur différentes plateformes ?

Oui, IronXL est indépendant de la plateforme et peut gérer les fichiers Excel sur différents environnements sans nécessiter de version spécifique de Microsoft Excel.

Y a-t-il un moyen d'essayer IronXL avant de l'acheter ?

Oui, IronXL propose une version d'essai gratuite qui permet aux utilisateurs d'explorer ses fonctionnalités avant de faire un achat. Vous pouvez trouver plus d'informations et télécharger l'essai sur le site web IronXL.

Quels types de projets bénéficient le plus de l'utilisation d'IronXL ?

Les projets qui impliquent la manipulation de données Excel, tels que l'analyse de données, les applications d'intelligence d'affaires, et toutes les applications .NET nécessitant le traitement des fichiers Excel, peuvent largement bénéficier de l'utilisation d'IronXL.

Comment IronXL gère-t-il la manipulation des fichiers Excel de manière programmatique ?

IronXL permet aux développeurs de charger, lire et manipuler les fichiers Excel de manière programmatique via son API intuitive, sans s'appuyer sur les composants installés d'Excel, ce qui en fait un outil efficace pour les applications .NET.

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