Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
La capacité à travailler avec des fichiers Excel pour générer des rapports et construire des bases de données est devenue essentielle pour les applications logicielles d'aujourd'hui. Il existe aujourd'hui de nombreuses bibliothèques qui permettent aux utilisateurs de faire cela sans Microsoft Excel.
Dans cet article, nous allons discuter et comparer comment travailler avec des documents Microsoft Excel de manière programmatique dans les technologies C# .NET en utilisant deux des bibliothèques les plus populaires, IronXL et Aspose Cells.
IronXL et Aspose Cells fournissent tous deux des méthodes pour créer, modifier et lire des documents Excel dans le cadre .NET. Il s'agit maintenant de déterminer quels sont les Bibliothèque C# pour Excel est le mieux adapté à votre projet. Cet article vous aidera à choisir la meilleure option pour vos applications.
Examinons d'abord ce que les deux bibliothèques ont à offrir, puis passons à la comparaison proprement dite.
IronXL est une bibliothèque .NET qui facilite la lecture et l'édition de documents Microsoft Excel avec C#. IronXL for .NET est une bibliothèque logicielle autonome .NET pour la lecture d'une large gamme de formats de feuilles de calcul. Il ne nécessite pas l'installation de Microsoft Excel et ne dépend pas non plus d'Interop.
IronXL est une API C# intuitive qui vous permet de lire, d'éditer et de créer des fichiers de feuilles de calcul Excel dans .NET avec des performances rapides comme l'éclair. IronXL prend pleinement en charge .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS et Azure.
IronXL est une bibliothèque de feuilles de calcul Excel pour C#, basée sur le .NET Core et le Framework .NET.
Aspose.Cells for .NET est une API de programmation de feuilles de calcul Excel permettant d'accélérer les tâches de gestion et de traitement des feuilles de calcul. L'API permet de créer des applications multiplateformes capables de générer, de modifier, de convertir, de rendre et d'imprimer des feuilles de calcul. En outre, il ne repose pas sur l'installation de Microsoft Excel ou de tout autre composant Microsoft Office Interop, mais offre un ensemble robuste d'API qui traitent tous les formats Excel, ainsi que les formats CSV et SpreadsheetML.
En intégrant l'API, les développeurs peuvent effectuer des tâches de base telles que la gestion de plusieurs feuilles de calcul, la création de contenu et de styles de feuilles de calcul à partir de zéro, l'importation de données dans des feuilles de calcul à partir de différentes sources de données, l'ajout de formules mathématiques, financières et textuelles courantes et complexes, la manipulation de graphiques, d'images, de commentaires, d'objets de dessin, et bien d'autres choses encore.
Voici quelques caractéristiques remarquables d'Aspose Cells :
Rendering
Impression
Traitement des données
Marqueurs intelligents
Grid Suite
Importer/exporter des données
Le reste de l'article se poursuit comme suit :
Créer une application console
Installation de la bibliothèque C# d'IronXL
Installation d'Aspose Cells
Créer et enregistrer un nouveau classeur et une nouvelle feuille Excel
Lire des fichiers Excel
Travailler avec des formules Excel
Inter Convertir des fichiers
Licences
Suivez les étapes suivantes pour créer une application console :
Dans l'écran Informations complémentaires, indiquez la version du framework que vous souhaitez utiliser. Nous utiliserons .NET Framework 4.8 dans cet exemple.
Cliquez sur Créer pour terminer le processus.
Le projet est maintenant créé et nous sommes presque prêts à tester les bibliothèques. Cependant, nous devons encore les installer et les intégrer dans notre projet. Commençons par installer IronXL.
Vous pouvez télécharger et installer la bibliothèque IronXL en utilisant les méthodes suivantes :
Utilisation de Visual Studio avec les paquets NuGet.
Téléchargez directement le paquet NuGet.
Installation manuelle avec la DLL.
Examinons chacun d'entre eux de plus près.
Visual Studio propose le gestionnaire de paquets NuGet pour installer les paquets NuGet dans vos projets. Vous pouvez y accéder par le menu Projet ou en cliquant avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
Ensuite, à partir de l'onglet Parcourir -> rechercher IronXL.Excel -> Installer
Pour ce faire, il suffit de se rendre directement sur le site de NuGet et de télécharger le paquetage. Les étapes sont les suivantes :
Une autre façon de télécharger et d'installer la bibliothèque IronXL C# est d'utiliser les étapes suivantes pour installer le paquet NuGet IronXL par l'intermédiaire de l'Invite de commande du développeur.
Ouvrez l'invite de commande Developer - qui se trouve généralement dans le dossier Visual Studio.
Tapez la commande suivante :
PM > Installer le paquet IronXL.Excel
Dans l'explorateur de solutions, cliquez avec le bouton droit de la souris sur le fichier Program.cs, puis cliquez sur Afficher le code.
using IronXL;
using IronXL;
Imports IronXL
Tout est fait! IronXL est téléchargé, installé et prêt à l'emploi. Cependant, avant cela, nous devons installer Microsoft.Office.Interop.Excel.
Après avoir créé le projet, accédez à NuGet Package Manager via le menu Projet ou en cliquant avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
Une autre façon de télécharger et d'installer la bibliothèque Aspose Cells C# consiste à suivre les étapes suivantes pour installer le paquet NuGet via l'Invite de commande du développeur.
Ouvrez l'invite de commande Developer - qui se trouve généralement dans le dossier Visual Studio.
Tapez la commande suivante :
PM> Installer le paquetage Aspose.Cells
Vous pouvez télécharger n'importe quelle version d'Aspose Cells directement depuis le site web en cliquant sur ce lien : https://downloads.aspose.com/cells/net
Ou bien :
à partir du site web de NuGet : https://www.nuget.org/packages/Aspose.Cells/
Dans l'explorateur de solutions, cliquez avec le bouton droit de la souris sur le fichier Program.cs, puis cliquez sur Afficher le code.
using Aspose.Cells;
using Aspose.Cells;
Imports Aspose.Cells
Un classeur est un fichier Excel contenant plusieurs feuilles de calcul avec des lignes et des colonnes. Les deux bibliothèques permettent de créer un nouveau classeur Excel et des feuilles de calcul. Examinons le code étape par étape.
Il n'y a rien de plus simple que de créer un nouveau classeur Excel à l'aide d'IronXL! Il s'agit d'une seule ligne de code! Oui, vraiment. Ajoutez le code suivant à votre fonction statique void main dans le fichier Program.cs :
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Les deux XLS(ancienne version du fichier Excel) et XLSX(version actuelle et plus récente du fichier) peuvent être créés avec IronXL.
Et il est encore plus simple de créer une feuille de travail par défaut :
var worksheet = workbook.CreateWorkSheet("IronXL Features");
var worksheet = workbook.CreateWorkSheet("IronXL Features");
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
Vous pouvez désormais utiliser la variable de feuille de calcul pour définir les valeurs des cellules et faire presque tout ce qu'un fichier Excel peut faire.
Sauvegarder les fichiers Excel :
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
//Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");
'Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx")
Avant de créer une feuille de calcul et son contenu, un objet de licence doit être créé pour éviter les limitations d'évaluation si une version sous licence a été achetée. Le code est le suivant :
// Create a License object
License license = new License();
// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
// Create a License object
License license = new License();
// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");
' Create a License object
Dim license As New License()
' Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir & "Aspose.Cells.lic")
Voyons maintenant le code permettant de créer un classeur et une feuille de calcul. L'exemple de code est le suivant :
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();
// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();
// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets [0];
' Instantiate a Workbook object that represents Excel file.
Dim wb As New Workbook()
' When you create a new workbook, a default "Sheet1" is added to the workbook.
Dim sheet As Worksheet = wb.Worksheets (0)
Sauvegarder les fichiers Excel :
//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
//Save spreadsheet
wb.Save("NewExcelFile.xlsx");
'Save spreadsheet
wb.Save("NewExcelFile.xlsx")
Les deux bibliothèques peuvent ouvrir et lire des documents Excel existants. Jetons un coup d'œil à l'exemple de code.
La classe IronXL WorkBook représente une feuille Excel. Pour ouvrir un fichier Excel à l'aide de C#, nous utilisons WorkBook.Load et spécifions le chemin d'accès du fichier Excel(.xlsx). Le code suivant, d'une seule ligne, est utilisé pour ouvrir le fichier en lecture :
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
Chaque WorkBook peut avoir plusieurs objets WorkSheet. Il s'agit des feuilles de calcul du document Excel. Si le classeur contient des feuilles de calcul, récupérez-les par leur nom comme suit :
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
Code pour la lecture des valeurs des cellules :
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
La lecture de fichiers Excel dans les cellules d'Aspose est également une tâche simple, car elle permet de gérer facilement plusieurs feuilles de calcul. Jetez un coup d'œil au code ci-dessous :
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");
//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");
//Adding new sheet
Worksheet sheet = workbook1.Worksheets.Add("MySheet");
' Creating a Workbook object and opening an Excel file using its file path
Dim workbook As New Workbook("Spreadsheets\\sample.xlsx")
'Adding new sheet
Dim sheet As Worksheet = workbook1.Worksheets.Add("MySheet")
Le code de lecture des valeurs des cellules :
//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
Console.WriteLine(cell.Value);
}
//Get Cells
Cells cells = sheet.Cells;
foreach (var cell in cells)
{
Console.WriteLine(cell.Value);
}
'Get Cells
Dim cells As Cells = sheet.Cells
For Each cell In cells
Console.WriteLine(cell.Value)
Next cell
Les formules Excel sont l'une des fonctions les plus importantes pour travailler avec des fichiers Excel. les deux bibliothèques disposent d'un puissant moteur de calcul de formules et permettent de travailler avec des formules et de les appliquer facilement aux cellules.
Après avoir chargé le classeur et la feuille de calcul, l'exemple de code suivant peut être utilisé pour modifier les formules ou les appliquer à des cellules spécifiques. Le code est le suivant :
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()
Vous pouvez également récupérer des formules et leurs valeurs :
// Get the formula's calculated value. e.g. "52"
string formulaValue = worksheet ["G30"].Value;
//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();
// Get the formula's calculated value. e.g. "52"
string formulaValue = worksheet ["G30"].Value;
//Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet ["G30"].Formula;
//Save your changes with updated formulas and calculated values.
workbook.Save();
' Get the formula's calculated value. e.g. "52"
Dim formulaValue As String = worksheet ("G30").Value
'Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet ("G30").Formula
'Save your changes with updated formulas and calculated values.
workbook.Save()
Avec Aspose.Cells, il est également facile de travailler avec des formules. Ajoutez le code ci-dessous au fichier Excel en cours de lecture. Le code est le suivant :
//Setting values
Cells cells = sheet.Cells;
//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";
// Calculating the results of formulas
workbook.CalculateFormula();
//Setting values
Cells cells = sheet.Cells;
//Setting formula
cells ["A4"].Formula = "=SUM(A1:A3)";
// Calculating the results of formulas
workbook.CalculateFormula();
'Setting values
Dim cells As Cells = sheet.Cells
'Setting formula
cells ("A4").Formula = "=SUM(A1:A3)"
' Calculating the results of formulas
workbook.CalculateFormula()
En suivant le code ci-dessus, vous pouvez facilement définir d'autres formules.
IronXL et Aspose Cells permettent tous deux de convertir des fichiers Excel xlsx en différents formats, et des formats différents en classeurs Excel.
Le processus est assez simple et facile. Cela se fait généralement en une seule ligne de code.
Formats CSV vers Excel:
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat:
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat:
ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
Fichier XLSX vers XLSM:
WorkBook workbook = WorkBook.Load("test.xlsx");
//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
WorkBook workbook = WorkBook.Load("test.xlsx");
//This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
'This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm")
Excel vers HTML avec options:
WorkBook workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
//This is how we can make row/column numbers visible in html document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
//This is how we can make hidden rows/columns visible in html document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
WorkBook workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
//This is how we can make row/column numbers visible in html document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
//This is how we can make hidden rows/columns visible in html document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
//This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options);
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim options = New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenColumns = True,
.OutputHiddenRows = True,
.OutputLeadingSpacesAsNonBreaking = True
}
'This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html",options)
Il est également assez simple de convertir des fichiers Excel xlsx en cellules Aspose. Consultez les codes ci-dessous :
Excel à HTML:
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
//save file to html format
workbook.Save("out.html");
//Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
//save file to html format
workbook.Save("out.html");
'Load your source workbook
Dim workbook As New Workbook("Book1.xlsx")
'save file to html format
workbook.Save("out.html")
ODs text to Excel:
//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");
//Save as xlsx file
workbook.Save("ods_out.xlsx");
//Load your source ods text file
Workbook workbook = new Workbook("book1.ods");
//Save as xlsx file
workbook.Save("ods_out.xlsx");
'Load your source ods text file
Dim workbook As New Workbook("book1.ods")
'Save as xlsx file
workbook.Save("ods_out.xlsx")
Formats de feuille de calcul Excel vers SVG:
// Instantiate a workbook
var workbook = new Workbook();
// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";
// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
// Instantiate a workbook
var workbook = new Workbook();
// Populate worksheets first cell
workbook.Worksheets [0].Cells ["A1"].Value = "DEMO TEXT ON SHEET1";
// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");
' Instantiate a workbook
Dim workbook As New Workbook()
' Populate worksheets first cell
workbook.Worksheets (0).Cells ("A1").Value = "DEMO TEXT ON SHEET1"
' Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg")
IronXL est une bibliothèque Excel C# ouvertement commerciale. Il est gratuit pour le développement et peut toujours faire l'objet d'une licence pour un déploiement commercial. Les licences sont disponibles pour l'utilisation d'un seul projet, pour les développeurs individuels, les agences et les entreprises internationales, ainsi que pour la redistribution SaaS et OEM. Toutes les licences comprennent une garantie de remboursement de 30 jours, un an d'assistance et de mises à jour du produit, la validité pour le développement, la mise en place et la production, ainsi qu'une licence permanente(achat unique). Le paquet Lite commence à partir de $749.
Aspose Cells est une API open-source et peut faire l'objet d'une licence pour un usage commercial. La version d'évaluation du produit Aspose.Cells offre toutes les fonctionnalités du produit, mais elle est limitée à l'ouverture de 100 fichiers dans un programme et comporte une feuille de calcul supplémentaire avec le filigrane d'évaluation. L'assistance technique est gratuite et illimitée et est fournie à la fois aux utilisateurs sous licence et aux utilisateurs d'évaluation. Si vous souhaitez tester Aspose.Cells sans les limitations de la version d'évaluation, demandez une licence temporaire de 30 jours ou achetez une version sous licence à partir de cette page lien. L'offre développeur pour les petites entreprises est proposée à partir de 1199 $.
En comparaison, IronXL et Aspose.Cells s'affrontent lorsqu'il s'agit de travailler avec Excel. IronXL et Aspose.Cells fournissent tous deux des fonctions Excel avancées ainsi que des opérations Excel de base. IronXL est gratuit pour le développement tandis qu'Aspose.Cells a une période d'évaluation avec des fichiers limités à 100 par application. Dans ce cas, l'avantage réside dans l'utilisation d'IronXL à des fins non commerciales. En outre, IronXL assure également la conversion vers et depuis le format JSON.
9 produits de l'API .NET pour vos documents de bureau