UTILISATION D'IRONXL

Comment travailler avec des fichiers Excel en C#

Publié septembre 29, 2024
Partager:

Introduction

Travailler avec des fichiers Microsoft Excel dans les langages de programmation est devenu une exigence importante dans le paradigme de programmation moderne d'aujourd'hui. La génération Excel est nécessaire pour l'automatisation, l'analyse de données, la mesure de la productivité, les rapports, etc.IronXL deIron Softwareest une bibliothèque C# puissante qui permet aux développeurs de lire, écrire et manipuler des documents Excel sans avoir besoin d'installer Microsoft Excel sur la machine dans n'importe quelle application comme les services web, la console, le bureau, etc. Cela en fait un excellent choix pour les applications qui doivent gérer efficacement et efficacement les données Excel. Dans cet article, nous allons explorer comment utiliser IronXL pour travailler avec des fichiers Excel en C#.

Comment travailler avec un classeur Excel en C

  1. Créez un projet Visual Studio et ajoutez le package NuGet IronXL.

  2. Créez un fichier Excel sans Interop.

  3. Ajoutez du style au fichier Excel avec IronXL.

  4. Lire les valeurs depuis Excel et calculer.

  5. Convertir Excel en HTML pour une utilisation web.

Présentation de la bibliothèque IronXL

IronXL est une bibliothèque robuste pour .NET qui simplifie le travail avec des fichiers Excel. IronXL est une puissante bibliothèque .NET conçue pour créer, lire et modifier des fichiers Excel sans effort. Il dispose d'une API intuitive qui simplifie le travail avec des documents Excel, prenant en charge divers formats tels que XLS, XLSX et CSV. Cette polyvalence permet une manipulation facile des valeurs des cellules, des formules et du formatage. IronXL est optimisé pour la performance et capable de gérer efficacement de gros fichiers et des opérations de données complexes tout en assurant une utilisation efficace de la mémoire. Sa compatibilité multiplateforme renforce son utilité, faisant d'IronXL un outil inestimable pour les développeurs utilisant différents systèmes d'exploitation. Voici quelques-unes de ses principales caractéristiques et avantages :

Caractéristiques principales

  1. Importation et exportation : 1. Importer des données : Prend en charge les formats XLS, XLSX, CSV et TSV.

  2. Exporter des données : Peut exporter des feuilles de calcul aux formats XLS, XLSX, CSV, TSV et JSON.

  3. Manipulation de données :

  4. Intégration System.Data : Travaillez avec des feuilles de calcul sous forme d'objets `System.Data.DataSet` et `System.Data.DataTable`.

  5. Formules : Prend en charge les formules Excel, qui sont recalculées chaque fois qu'une feuille est modifiée.

  6. Style et formatage :

  7. Style des cellules : personnalisez la police, la taille, le motif d'arrière-plan, la bordure, l'alignement et les formats de nombre.

  8. Plages : Paramétrage de plages intuitives avec `WorkSheet`["A1:B10]` syntaxe.

  9. Sécurité :

    Chiffrement : Cryptez et déchiffrez les fichiers XLSX, XLSM et XLTX avec des mots de passe.5. Compatibilité multiplateforme : 1. Fonctionne avec .NET Framework, .NET Core, .NET Standard et Azure.2. Compatible avec Windows, macOS, Linux, Docker, Azure et AWS.

Avantages

  1. Pas besoin de Microsoft Office : IronXL ne nécessite pas l'installation de Microsoft Office, ce qui le rend léger et facile à déployer.

  2. Facilité d'utilisation : L'API est intuitive et facile à utiliser, permettant aux développeurs d'intégrer rapidement la fonctionnalité Excel dans leurs applications. Performance : IronXL est optimisé pour la performance, garantissant un traitement rapide et efficace des fichiers Excel volumineux.

  3. Polyvalence : Convient pour une large gamme d'applications, y compris les solutions web, de bureau et basées sur le cloud. Documentation complète : Une documentation étendue et des exemples sont disponibles, facilitant ainsi le démarrage des développeurs et la recherche de solutions aux problèmes courants.

Pour commencer

Pour utiliser IronXL dans vos projets .NET, vous devez vous assurer que votre environnement de développement répond aux prérequis suivants :

Conditions préalables

  1. .NET Framework : IronXL prend en charge .NET Framework 4.5 et les technologies .NET ultérieures.

  2. .NET Core et .NET Standard : Compatible avec .NET Core 2, 3, 5, 6, 7, 8 et 9. Prend en charge .NET Standard 2.0 et 2.1.

  3. Systèmes d'exploitation : fonctionne sous Windows, macOS et Linux. Compatible avec les environnements Docker, Azure et AWS.

  4. Pas besoin de Microsoft Office : IronXL n'a pas besoin que Microsoft Office ou Excel Interop soient installés.

  5. Éditeur de code : tout éditeur de code visual C# comme Visual Studio, etc.

Installation

Vous pouvez installer IronXL via le gestionnaire de packages NuGet dans Visual Studio ou en utilisant la console du gestionnaire de packages avec la commande suivante :

dotnet add package IronXL.Excel --version 2024.8.5
dotnet add package IronXL.Excel --version 2024.8.5
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.8.5
VB   C#

Comment travailler avec un classeur Excel en C

Pour commencer à travailler sur un fichier Excel, développons d'abord un projet Visual Studio et ajoutons la bibliothèque IronXL.

Étape 1 : Créez un projet Visual Studio et ajoutez le package NuGet IronXL.

Ouvrez Microsoft Visual Studio et sélectionnez l'option 'Créer un nouveau projet' pour commencer à créer le projet.

Comment travailler avec des fichiers Excel en C# : Figure 1 - Nouveau projet

Sélectionnez le modèle de projet de votre choix, ici nous avons sélectionné l'application Console pour plus de simplicité.

Comment travailler avec des fichiers Excel en C# : Figure 2 - Application console

Entrez maintenant le nom et l'emplacement du projet.

Comment travailler avec des fichiers Excel en C# : Figure 3 - Configuration du projet

Sélectionnez la version du .NET Framework que vous préférez. Nous avons sélectionné le plus récent disponible sur notre machine.

Comment travailler avec des fichiers Excel en C# : Figure 4 - Cible Framework

Une fois le bouton Créer cliqué, le projet sera créé et prêt à être utilisé. Ouvrez l'Explorateur de solutions pour vérifier les fichiers du projet.

Comment travailler avec des fichiers Excel en C# : Figure 5 - Explorateur de solutions

Maintenant, installons la bibliothèque IronXL depuis le gestionnaire de packages NuGet comme montré ci-dessus.

Étape 2 : Créer un fichier Excel sans Interop

Maintenant, créons un fichier Excel sans utiliser la bibliothèque Microsoft Interop.

using IronXL;
namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create new Excel WorkBook Object
            WorkBook workBook = WorkBook.Create();
            // Create WorkSheet
            WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
            // Add data in new worksheet
            workSheet["A1"].Value = "IronXL is the best Excel library";           
            // Save the Excel file as XLSX
            workBook.SaveAs("myIronXlDemo.xlsx");
        }
    }
}
using IronXL;
namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create new Excel WorkBook Object
            WorkBook workBook = WorkBook.Create();
            // Create WorkSheet
            WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
            // Add data in new worksheet
            workSheet["A1"].Value = "IronXL is the best Excel library";           
            // Save the Excel file as XLSX
            workBook.SaveAs("myIronXlDemo.xlsx");
        }
    }
}
Imports IronXL
Namespace WorkingWithIronXL
	Public Class Program
		Public Shared Sub Main()
			' Create new Excel WorkBook Object
			Dim workBook As WorkBook = WorkBook.Create()
			' Create WorkSheet
			Dim workSheet As WorkSheet = workBook.CreateWorkSheet("newXlDemo")
			' Add data in new worksheet
			workSheet("A1").Value = "IronXL is the best Excel library"
			' Save the Excel file as XLSX
			workBook.SaveAs("myIronXlDemo.xlsx")
		End Sub
	End Class
End Namespace
VB   C#

Explication du code

  1. Nous ajoutons l'espace de noms IronXL pour commencer à travailler avec la bibliothèque.

  2. Ensuite, nous créons un objet Excel pour créer un fichier XLSX avec WorkBook.Create.();

  3. La méthode CreateWorkSheet est ensuite appelée pour créer une feuille de calcul dans le classeur.

  4. Ajouter des valeurs à la cellule en utilisant workSheet["A1"]

  5. Ensuite, enregistrez l'Excel en utilisant workBook.SaveAs en fournissant un nom pour le fichier.

    Fichier Excel de sortie

    Comment travailler avec des fichiers Excel en C#: Figure 6 - Sortie Excel

Étape 3 : Ajouter du style au fichier Excel en utilisant IronXL

Voyons maintenant comment ajouter des styles aux cellules Excel.

using IronXL;
namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
         {
            // Create a new workbook
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Create a new worksheet
            WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
            // Add multiple values to cells
            workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
            workSheet["A2"].Value = 999999;
            // Apply styles to cells
            workSheet["A1"].Style.Font.Bold = true;
            workSheet["A1"].Style.Font.Italic = true;
            workSheet["A1"].Style.Font.Height = 14;
            workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
            workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
            workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
            // Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx");
        }
    }
}
using IronXL;
namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
         {
            // Create a new workbook
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Create a new worksheet
            WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
            // Add multiple values to cells
            workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
            workSheet["A2"].Value = 999999;
            // Apply styles to cells
            workSheet["A1"].Style.Font.Bold = true;
            workSheet["A1"].Style.Font.Italic = true;
            workSheet["A1"].Style.Font.Height = 14;
            workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
            workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
            workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
            // Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx");
        }
    }
}
Imports IronXL
Namespace WorkingWithIronXL
	Public Class Program
		Public Shared Sub Main()
			' Create a new workbook
			Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
			' Create a new worksheet
			Dim workSheet As WorkSheet = workBook.CreateWorkSheet("StyledSheet")
			' Add multiple values to cells
			workSheet("A1").Value = "This Styled Text with Awesome IronXL library"
			workSheet("A2").Value = 999999
			' Apply styles to cells
			workSheet("A1").Style.Font.Bold = True
			workSheet("A1").Style.Font.Italic = True
			workSheet("A1").Style.Font.Height = 14
			workSheet("A1").Style.Font.Color = "#FF0000" ' Red color
			workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
			workSheet("A2").Style.BottomBorder.SetColor("#00FF00") ' Green color
			' Save the workbook
			workBook.SaveAs("myIronXlWriteDemo.xlsx")
		End Sub
	End Class
End Namespace
VB   C#

Explication du code

  1. Créez un fichier Excel en utilisant WorkBook.Create

  2. Créer une feuille de calcul en utilisant workBook.CreateWorkSheet

  3. Ajoutez des valeurs aux cellules en utilisant workSheet["A1"].Valeur

  4. Ajoutez des styles à chaque cellule en utilisant les propriétés de la cellule comme workSheet.["A1"].Style.Police.Gras

  5. Enregistrez le classeur en utilisant workBook.SaveAs.

    Fichier Excel de sortie

    Comment travailler avec des fichiers Excel en C# : Figure 7 - Sortie Excel stylée

Étape 4 : Lire les valeurs d'Excel et calculer

Maintenant que nous avons vu comment créer des fichiers Excel, voyons le code suivant sur la façon dont nous pouvons lire des fichiers Excel en utilisant IronXL et effectuer quelques calculs en mémoire.

using IronXL;
namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ReadData()
        {
            // Load the Excel worksheet
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            // Select the first worksheet
            WorkSheet workSheet = workBook.WorkSheets[0];
            // Read a specific cell value
            int cellValue = workSheet["A2"].IntValue;
            Console.WriteLine($"Value in A2: {cellValue}");
            // Read a range of cells
            foreach (var cell in workSheet["A1:H10"])
            {
                //Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
                Console.Write($"{cell.Text}\t");
                if(cell.AddressString.Contains("H"))
                {
                    Console.WriteLine();
                }
            }
            // Calculate aggregate values
            decimal sum = workSheet["F2:F10"].Sum();
            Console.WriteLine($"Sum of F2:F10: {sum}");
        }
}
using IronXL;
namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ReadData()
        {
            // Load the Excel worksheet
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            // Select the first worksheet
            WorkSheet workSheet = workBook.WorkSheets[0];
            // Read a specific cell value
            int cellValue = workSheet["A2"].IntValue;
            Console.WriteLine($"Value in A2: {cellValue}");
            // Read a range of cells
            foreach (var cell in workSheet["A1:H10"])
            {
                //Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
                Console.Write($"{cell.Text}\t");
                if(cell.AddressString.Contains("H"))
                {
                    Console.WriteLine();
                }
            }
            // Calculate aggregate values
            decimal sum = workSheet["F2:F10"].Sum();
            Console.WriteLine($"Sum of F2:F10: {sum}");
        }
}
Imports Microsoft.VisualBasic
Imports IronXL
Namespace WorkingWithIronXL
	Friend Class IronXlDemo
		Public Shared Sub ReadData()
			' Load the Excel worksheet
			Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
			' Select the first worksheet
			Dim workSheet As WorkSheet = workBook.WorkSheets(0)
			' Read a specific cell value
			Dim cellValue As Integer = workSheet("A2").IntValue
			Console.WriteLine($"Value in A2: {cellValue}")
			' Read a range of cells
			For Each cell In workSheet("A1:H10")
				'Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
				Console.Write($"{cell.Text}" & vbTab)
				If cell.AddressString.Contains("H") Then
					Console.WriteLine()
				End If
			Next cell
			' Calculate aggregate values
			Dim sum As Decimal = workSheet("F2:F10").Sum()
			Console.WriteLine($"Sum of F2:F10: {sum}")
		End Sub
	End Class
VB   C#

Explication du code

  1. Voici les données des employés enregistrées dans le modèle d'objet Excel comme indiqué ci-dessous.

  2. En utilisant IronXL, nous chargeons le fichier Excel en mémoire et lisons la première feuille.

  3. Ensuite, nous parcourons chaque cellule pour obtenir les valeurs et les afficher sur la console.

  4. Ensuite, nous calculons la somme des âges en utilisant les cellules F2-F10, puis nous l'affichons sur la console.

    Entrée Excel

    Comment travailler avec les fichiers Excel en C#: Figure 8 - Entrée Excel

    Sortie

    Comment travailler avec des fichiers Excel en C# : Figure 9 - Sortie de la console

Étape 5 : Convertir Excel en HTML pour une utilisation web

Maintenant que nous savons comment générer, lire et écrire des fichiers Excel, voyons comment convertir Excel en HTML pour une utilisation sur le web.

using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ConvertToHtml()
        {
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            var options = new HtmlExportOptions()
            {
                // Set row/column numbers visible in HTML document
                OutputRowNumbers = true,
                OutputColumnHeaders = true,
                // Set hidden rows/columns visible in HTML document
                OutputHiddenRows = true,
                OutputHiddenColumns = true,
                // Set leading spaces as non-breaking
                OutputLeadingSpacesAsNonBreaking = true
            };
            // Export workbook to the HTML file
            workBook.ExportToHtml("workBook.html", options);
        }
}
using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ConvertToHtml()
        {
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            var options = new HtmlExportOptions()
            {
                // Set row/column numbers visible in HTML document
                OutputRowNumbers = true,
                OutputColumnHeaders = true,
                // Set hidden rows/columns visible in HTML document
                OutputHiddenRows = true,
                OutputHiddenColumns = true,
                // Set leading spaces as non-breaking
                OutputLeadingSpacesAsNonBreaking = true
            };
            // Export workbook to the HTML file
            workBook.ExportToHtml("workBook.html", options);
        }
}
Imports IronXL
Imports IronXL.Options
Namespace WorkingWithIronXL
	Friend Class IronXlDemo
		Public Shared Sub ConvertToHtml()
			Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
			Dim options = New HtmlExportOptions() With {
				.OutputRowNumbers = True,
				.OutputColumnHeaders = True,
				.OutputHiddenRows = True,
				.OutputHiddenColumns = True,
				.OutputLeadingSpacesAsNonBreaking = True
			}
			' Export workbook to the HTML file
			workBook.ExportToHtml("workBook.html", options)
		End Sub
	End Class
VB   C#

Explication du code

  1. Ici, nous chargeons le fichier Excel "sampleEmployeeData.xlsx" en utilisant la méthode Load

  2. Ensuite, définissez les options pour la conversion en HTML en utilisant HtmlExportOptions.

  3. Ensuite, nous utilisons la méthode ExportToHtml pour convertir en HTML.

    Entrée

    Comment travailler avec des fichiers Excel en C# : Figure 10 - Entrée Excel pour le Web

    Sortie

    Comment travailler avec des fichiers Excel en C# : Figure 11 - Sortie HTML

Cas d'utilisation dans le monde réel

IronXL est une bibliothèque .NET polyvalente avec un large éventail d'applications pratiques, y compris :

1. Rapports d'entreprise :

  1. Automatiser la génération de rapports périodiques, tels que les résumés de ventes, les états financiers et les indicateurs de performance.

  2. Créer des tableaux de bord personnalisés qui extraient des données de diverses sources et les présentent au format Excel.

    2. Analyse des données :

  3. Traitement de grands ensembles de données pour effectuer une analyse statistique, un nettoyage des données et une transformation des données.

  4. Exporter les données analysées dans Excel pour un examen plus approfondi et un partage avec les parties prenantes.

    3. Gestion des stocks :

  5. Gérer les inventaires de produits en créant et en mettant à jour des feuilles Excel avec les niveaux de stock, les détails des fournisseurs et les points de commande.

  6. Générer des rapports d'inventaire pour suivre le mouvement des stocks et identifier les tendances.

    4. Gestion de la Relation Client(CRM) :

  7. Exportation des données client des systèmes CRM vers Excel pour une analyse et un reporting détaillés.

  8. Mise à jour des enregistrements CRM en important des données modifiées à partir de fichiers Excel.

    5. Établissements d'enseignement :

  9. Création et gestion de carnets de notes pour les étudiants, de registres de présence et de rapports de progression.

  10. Génération de résultats d'examen et analyse détaillée des performances pour les enseignants et les étudiants.

    6. Services financiers:

  11. Automatiser la création de modèles financiers, budgets et prévisions dans Excel.

  12. Consolider les données financières provenant de multiples sources pour des rapports financiers complets.

    7. Ressources Humaines :

  13. Gestion des données des employés, y compris les coordonnées, les informations sur la paie et les évaluations de performance.

  14. Génération de rapports sur les indicateurs RH tels que l'effectif, les taux de roulement et les caractéristiques démographiques des employés.

    8. Gestion de projet :

  15. Suivi des délais de projet, des jalons et de l'allocation des ressources à l'aide de feuilles Excel.

  16. Créer des diagrammes de Gantt et d'autres outils de gestion de projet directement dans Excel.

    9. E-commerce :

  17. Exporter les détails de commande, les informations client et les données de vente des plateformes de commerce électronique vers Excel.

  18. Analyse des tendances de vente, du comportement des clients et de la performance des produits.

    10. Santé :

  19. Gérer les dossiers des patients, les calendriers de rendez-vous et les plans de traitement dans Excel.

  20. Analyse des données de santé pour identifier des tendances et améliorer les soins aux patients.

Licence IronXL

IronXL est une bibliothèque d'entreprise faisant partie de la suite de produits Iron Suite d'Iron Software. Il nécessite une licence pour fonctionner. Les utilisateurs peuvent télécharger une licence d'essai pour travailler avec en utilisant leur adresse e-mail depuisici. Une fois les données saisies, la licence est envoyée à l'adresse e-mail fournie. Cette licence doit être placée au début du code, avant d'utiliser la bibliothèque IronXL comme ci-dessous.

License.LicenseKey = "your Key Here"
License.LicenseKey = "your Key Here"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'License.LicenseKey = "your Key Here"
VB   C#

Conclusion

IronXL est une bibliothèque .NET puissante pour créer, lire et modifier des fichiers Excel, offrant une API intuitive qui simplifie le processus de travail avec des documents Excel. Il prend en charge une large gamme de formats Excel, y compris XLS, XLSX et CSV, ce qui le rend polyvalent pour divers cas d'utilisation. IronXL permet une manipulation facile des valeurs de cellules, des formules et du formatage, et est optimisé pour la performance, gérant efficacement les fichiers volumineux et les opérations complexes. Sa gestion efficace de la mémoire garantit des applications réactives, et sa compatibilité multiplateforme en fait un outil précieux pour les développeurs travaillant sur différents systèmes d'exploitation.

< PRÉCÉDENT
Comment gérer les plages Excel en C#
SUIVANT >
Comment importer Excel vers le serveur SQL en C#