UTILISATION D'IRONXL

Comment convertir Excel en Datagridview en C#

Mise à jour mars 31, 2024
Partager:

Ce blog comparera et opposera la manière d'interagir avec les documents Microsoft Excel de manière programmatique dans les technologies .NET, que ce soit au format CSV ou au format Excel standard, en utilisant l'une des bibliothèques les plus populaires, IronXL.

Caractéristiques de la bibliothèque IronXL

En utilisant la bibliothèque IronXL en C#, vous pouvez facilement lire et convertir des documents Microsoft Excel en fichiers CSV. IronXL est une bibliothèque logicielle .NET autonome qui peut lire divers formats de feuilles de calcul sans nécessiter l'installation de Microsoft Excel ou dépendre de Microsoft Office Interop Excel.

IronXL est l'une des principales bibliothèques de feuilles de calcul Excel pour C#, compatible à la fois avec .NET Core et .NET Framework. Il prend en charge différents Framework .NET, notamment les applications Web, les applications Windows Forms et les applications Console. La lecture des fichiers Excel est rapide et simple avec IronXL. Il prend en charge un large éventail de formats de fichiers Excel, notamment XLSX, XLS, CSV, TSV, XLST, XLSM, etc. Vous pouvez importer, modifier, exporter des tableaux de données, exporter des ensembles de données et effectuer de nombreuses autres opérations. Il est également possible d'exporter et d'enregistrer des fichiers avec différentes extensions.

Grâce à l'API C# intuitive d'IronXL, vous pouvez lire, modifier et créer sans effort des fichiers de feuilles de calcul Excel dans l'environnement .NET. Il offre une prise en charge complète de .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS et Azure.

IronXL peut effectuer des calculs comme Microsoft Excel et prend en charge plusieurs formats de données en colonnes, tels que le texte, les nombres entiers, les formules, les dates, les devises et les pourcentages.

Pour en savoir plus, cliquez sur le lien Site web d'IronXL.

Création d'un nouveau projet dans Visual Studio

Avant d'utiliser le Framework .NET, il faut créer un projet .NET dans Visual Studio. N'importe quelle version de Visual Studio fonctionnera, mais il est recommandé d'utiliser la version la plus récente. Vous pouvez créer différents modèles de projet ou une application de type Windows Forms, en fonction de vos besoins. Pour simplifier les choses, ce tutoriel utilisera l'application Windows Forms.

Comment convertir Excel en Datagridview en C#, Figure 1 : Créer un nouveau projet dans Visual Studio

Créer un nouveau projet dans Visual Studio

Après avoir choisi votre modèle de projet, indiquez le nom et le lieu du projet.

Comment convertir Excel en Datagridview en C#, Figure 2 : Configurer le projet

Configurer le projet

Ensuite, choisissez la structure suivante. Ce projet utilisera le Framework .NET 4.7.

Comment convertir Excel en Datagridview en C#, Figure 3 : Sélection du Framework .NET

Sélection du Framework .NET

Après avoir généré les fichiers de projet, vous pouvez ouvrir le fichier Form1.cs dans la vue du concepteur pour insérer le code du programme, concevoir l'interface et construire/exécuter le programme. Ensuite, vous devrez télécharger la bibliothèque IronXL requise pour la solution. Vous pouvez télécharger le paquet en utilisant le code suivant dans le gestionnaire de paquets :

Install-Package IronXL.Excel

Comment convertir Excel en Datagridview en C#, Figure 4 : Installer le paquet IronXL dans la console du gestionnaire de paquets

Installer le paquet IronXL dans la console du gestionnaire de paquets

Vous pouvez également utiliser le gestionnaire de paquets NuGet pour rechercher et télécharger le paquet "IronXL". Le gestionnaire de paquets NuGet est un moyen pratique de gérer les dépendances dans votre projet.

Comment convertir Excel en Datagridview en C#, Figure 5 : Rechercher et installer le package IronXL dans l'interface NuGet Package Manager

Recherche et installation du paquetage IronXL dans l'interface utilisateur du gestionnaire de paquets NuGet

Pour ce formulaire, un contrôle DataGridView est placé sur le formulaire pour charger le fichier Excel nécessaire dans le contrôle DataGridView.

Chargement de données à partir d'un fichier Excel

IronXL est une puissante bibliothèque pour Excel qui vous permet de lire des fichiers Excel avec seulement quelques lignes de code. Voici un exemple de code qui montre comment importer des données Excel dans une DataGridView :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ImportFilePath=string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
            DialogResult Result= openFileDialog1.ShowDialog(); 

            if (Result == DialogResult.OK)
            {
                ImportFilePath = openFileDialog1.FileName;
            }
            if(ImportFilePath!=string.Empty)
            {
                var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
                var Edataset = exceldoc.ToDataSet().Tables [0];
                for (int i = 0; i < Edataset.Columns.Count; i++)
                {
                    Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
                    //dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
                }
                dataGridView1.DataSource = Edataset;
                dataGridView1.Rows.RemoveAt(0);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string ImportFilePath=string.Empty;

            openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
            DialogResult Result= openFileDialog1.ShowDialog(); 

            if (Result == DialogResult.OK)
            {
                ImportFilePath = openFileDialog1.FileName;
            }
            if(ImportFilePath!=string.Empty)
            {
                var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
                var Edataset = exceldoc.ToDataSet().Tables [0];
                for (int i = 0; i < Edataset.Columns.Count; i++)
                {
                    Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
                    //dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
                }
                dataGridView1.DataSource = Edataset;
                dataGridView1.Rows.RemoveAt(0);
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Window
Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			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 ImportFilePath<>String.Empty Then
				Dim exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath)
				Dim Edataset = exceldoc.ToDataSet().Tables (0)
				For i As Integer = 0 To Edataset.Columns.Count - 1
					Edataset.Columns (i).ColumnName = Edataset.Rows (0).ItemArray (i).ToString()
					'dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
				Next i
				dataGridView1.DataSource = Edataset
				dataGridView1.Rows.RemoveAt(0)
			End If
		End Sub
	End Class
End Namespace
VB   C#

Le code ci-dessus importe des données d'Excel. Pour donner plus de contexte, supposons que nous concevons une application Windows Forms avec un contrôle DataGridView et un bouton. Le bouton ouvre une boîte de dialogue permettant de rechercher le fichier Excel à partir d'un emplacement spécifique. Un code personnalisé est ajouté pour filtrer et n'afficher qu'un nombre limité de fichiers avec une extension spécifique.

Comment convertir Excel en Datagridview en C#, Figure 6 : Ouvrir une boîte de dialogue pour sélectionner un fichier Excel

Ouverture d'une boîte de dialogue pour sélectionner un fichier Excel

Ensuite, le LoadExcel est utilisée pour charger des données à partir d'un fichier Excel. Cette méthode permet de charger des données à partir de différentes sources telles que des noms de fichiers, des octets ou des flux. Si le fichier Excel est protégé par un mot de passe, nous pouvons également transmettre le mot de passe en tant que paramètre.

Une fois les données Excel chargées dans l'objet IronXL, la fonction ToDataSet est utilisée pour convertir les données de la feuille Excel en un ensemble de données. Chaque feuille du fichier Excel sera convertie en un tableau distinct dans l'ensemble de données.

Ensuite, chargez la table requise à partir du jeu de données dans le DataGridView. Pour ce faire, la propriété DataSource du DataGridView est fixée à l'objet DataTable nouvellement créé à partir d'IronXL. Cette étape permet de transférer les données du fichier Excel vers le DataGridView.

Comment convertir Excel en Datagridview en C#, Figure 7 : Afficher les données du fichier Excel

Afficher les données du fichier Excel

De plus, le nom de l'en-tête Excel est également attribué à l'en-tête DataGridView. En outre, nous avons supprimé toute colonne d'information supplémentaire de la "table de données" qui contient la colonne Excel en tant que ligne de données. Cela permet de s'assurer que seules les données pertinentes sont affichées dans la DataGridView.

Pour plus de tutoriels sur l'utilisation d'IronXL, cliquez sur ce lien guide pratique.

Conclusion

IronXL est un utilitaire Excel très populaire qui ne dépend pas de bibliothèques externes. Il s'agit d'une solution indépendante qui ne nécessite pas l'installation de Microsoft Excel. Il est compatible avec différentes plateformes.

Avec IronXL, vous pouvez réaliser par programmation un large éventail d'opérations liées aux documents Microsoft Excel. Vous pouvez effectuer des tâches telles que le tri de chaînes ou de nombres, l'élagage et l'ajout de données, la recherche et le remplacement de valeurs, fusionner et défusionner des cellules, l'enregistrement de fichiers, et plus encore. Il vous permet également de valider les données de la feuille de calcul et d'obtenir des informations sur l'évolution de la situation définir les types de données des cellules. En outre, IronXL prend en charge la lecture et l'écriture écriture de fichiers CSV.

IronXL est disponible à l'achat pour $749. Les clients ont également la possibilité de payer une cotisation annuelle pour les mises à jour et l'assistance produit. Moyennant un supplément de prix, IronXL offre des droits de redistribution sans restriction. Pour obtenir des informations plus détaillées sur les prix, vous pouvez consulter le site web de la Commission européenne page d'autorisation.

< PRÉCÉDENT
Comment exporter des données volumineuses d'un tableau de données vers Excel en C#
SUIVANT >
Comment exporter vers CSV dans Blazor