Passer au contenu du pied de page
COMPARER à D'AUTRES COMPOSANTS

Une comparaison entre IronXL et Excel de Syncfusion

La manipulation d'Excel par programmation peut s'avérer difficile pour les développeurs. Plusieurs problèmes peuvent survenir lors de la modification de fichiers Microsoft Excel. Les principaux problèmes résident dans la complexité de l'interface utilisateur et le manque de documentation, ce qui rend la manipulation des fichiers Excel difficile. Heureusement, il existe désormais des bibliothèques Excel développées par des programmeurs compétents. Ces bibliothèques permettent de modifier les données des fichiers Microsoft Excel. Je vais ici aborder deux bibliothèques Excel C# :

  • IronXL : Bibliothèque Excel C#
  • Cadre Excel Syncfusion

Commençons par une comparaison de ces bibliothèques.

IronXL : Bibliothèque Excel C

IronXL est une bibliothèque Excel .NET composée de codes C# développée par Iron Software , utilisée pour manipuler par programmation des documents Excel. IronXL est écrit sur le framework .NET et simplifie le processus de développement d'applications qui nécessitent normalement Microsoft Excel pour fonctionner.

IronXL fournit au programmeur un ensemble de classes, de méthodes et de propriétés qui peuvent être utilisées pour lire et écrire des données depuis/vers un classeur Excel, manipuler les objets du classeur, accéder à des sources de données externes et charger des données dans un classeur Excel.

Examinons les caractéristiques d'IronXL.

Caractéristiques d'IronXL

IronXL possède de nombreuses caractéristiques qui la distinguent des autres bibliothèques.

Charger, lire et modifier des données

IronXL permet de charger, lire et modifier des données issues de fichiers tableurs tels que XLS, XLSX , XLST, XLSM, CSV et TSV. IronXL propose des fonctions simples et intuitives pour créer, lire et modifier ces fichiers. Il offre un contrôle total sur les documents.

Création de graphiques

IronXL possède une grande variété de fonctions permettant de créer des feuilles de calcul avec des graphiques personnalisés . Elle dispose d'une bonne documentation API pour les prendre en charge.

Épargne et exportation

IronXL est idéal pour enregistrer et exporter des documents dans de multiples formats. IronXL offre la possibilité d'exporter ou de convertir des fichiers Excel aux formats XLS, XLSX, XLST, XLSM, CSV, TSV et JSON.

Utilisation des formules

IronXL permet de travailler avec des formules dans les fichiers Excel. Nous pouvons créer n'importe quelle formule et l'appliquer à n'importe quelle cellule selon nos besoins. IronXL possède d'excellentes fonctions simples pour nous aider à travailler avec les formules.

Formats de données cellulaires

Les utilisateurs d'Excel ont souvent besoin d'appliquer une mise en forme aux cellules Excel. IronXL prend en charge des fonctionnalités avancées de mise en forme conditionnelle . IronXL est là pour vous aider à formater les données cellulaires grâce à des fonctions simples et faciles à utiliser. IronXL prend en charge tous les formats compatibles avec Microsoft Excel. Vous pouvez formater les données avec ces formats :

  • Texte
  • Nombre
  • Formules
  • Dates
  • Devise
  • Pourcentages
  • Scientifique
  • Temps
  • Formats personnalisés

Style cellulaire

La mise en forme des cellules est une fonctionnalité importante de Microsoft Excel qui permet de différencier les données importantes. C'est très utile, et IronXL prend également en charge cette fonctionnalité. Vous pouvez modifier le style de police, la taille de la police, le motif d'arrière-plan , la bordure et l'alignement à l'aide des fonctions d'IronXL.

Syncfusion Excel

La bibliothèque Syncfusion fournit une API pour lire, écrire et manipuler les fichiers Microsoft Excel (XLS). La bibliothèque Syncfusion est une bibliothèque C# qui peut être utilisée par les développeurs pour créer leurs applications de lecture, d'écriture et de manipulation de fichiers Microsoft Excel (XLS). L'importation de données personnalisées est également prise en charge. Il est compatible avec tous les systèmes d'exploitation prenant en charge le langage de programmation C#.

Fonctionnalités de Syncfusion Excel

Examinons les fonctionnalités de la bibliothèque Excel Syncfusion :

Voyons voir comment fonctionnent ces bibliothèques. Pour tester les différentes fonctionnalités, nous devons d'abord créer un projet C#. Alors, commençons.

1. Création d'un projet C

Ce tutoriel utilisera la version Visual Studio 2019 (la dernière version est recommandée) et le langage de programmation C# pour construire un projet.

  • Ouvrez Visual Studio 2019.
  • Cliquez sur " Créer " pour créer un nouveau projet.
  • Sélectionnez " Application console C# " parmi les modèles et cliquez sur le bouton " Suivant ".

! Application console Application console

  • Donnez un nom au projet et cliquez sur le bouton Suivant.

! Configuration du projet Configuration du projet

Sélectionnez une version du framework .NET cible supérieure ou égale à 3.1, car cette version est prise en charge et fonctionne sur tous les appareils. La version la plus récente et la plus stable du framework .NET est la 5.0. Cliquez sur le bouton " Créer ". Cela créera une application console C#.

! .NET Framework cible Framework cible .NET

Vous pouvez également utiliser des projets C# existants. Il suffit d'ouvrir le projet et d'installer les bibliothèques. Nous verrons dans la section suivante comment installer les bibliothèques Excel.

2. Installation de la bibliothèque IronXL

Il existe plusieurs façons de télécharger et d'installer la bibliothèque IronXL. Les voici :

  1. Console du gestionnaire de paquets
  2. Utilisation du gestionnaire de packages NuGet

2.1 Console du gestionnaire de packages

Nous pouvons installer la bibliothèque IronXL à l'aide de la console du gestionnaire de packages. Suivez les étapes ci-dessous pour l'installer :

  • Ouvrez la console du gestionnaire de packages . Il se trouve généralement vers le bas de Visual Studio.

! Console du gestionnaire de paquets Console du gestionnaire de paquets

  • Saisissez la commande suivante et appuyez sur Entrée.

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • L'installation de la bibliothèque IronXL va commencer.

Installation d'IronXL Installation d'IronXL

Après l'installation, nous pourrons l'utiliser dans notre projet.

2.2 Installation à l'aide du gestionnaire de packages NuGet

Nous pouvons installer la bibliothèque IronXL directement depuis le gestionnaire de packages NuGet. Suivez ces étapes pour installer IronXL :

  • Cliquez sur Outils dans la barre de menu et survolez Gestionnaire de packages NuGet.

Gestionnaire de packages NuGet Gestionnaire de packages NuGet

  • Sélectionnez " Gérer les packages NuGet pour la solution ". Cliquez sur Parcourir et saisissez IronXL dans la barre de recherche. La bibliothèque IronXL apparaîtra dans les résultats de la recherche.

Gérer les packages NuGet Gérer les packages NuGet

  • Cliquez sur IronXL.Excel puis sur le bouton Installer. La bibliothèque sera installée automatiquement.

3. Installation de la bibliothèque Excel Syncfusion

Nous pouvons installer la bibliothèque Excel Syncfusion à l'aide de la console du gestionnaire de packages. Contrairement à IronXL, nous devons installer chaque bibliothèque différemment pour différents projets tels que Windows Forms, WPF, ASP.NET, UWP et autres. Nous devons écrire des commandes différentes pour chaque plateforme.

3.1 Installation à l'aide de la console du gestionnaire de packages

Suivez les étapes ci-dessous pour installer la bibliothèque Excel Syncfusion :

  • Accédez à la console du gestionnaire de packages.
  • Saisissez la commande suivante pour installer la bibliothèque Excel Syncfusion :

    Install-Package Syncfusion.XlsIO.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • Saisissez la commande suivante si vous travaillez sur un projet WPF :

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • L'installation de la bibliothèque va commencer. Après l'installation, vous pourrez facilement utiliser le framework Syncfusion Excel dans votre projet.

4. Lecture d'un document Excel

La lecture d'un document Excel est une fonctionnalité essentielle de toute bibliothèque Excel. Nous allons examiner comment lire des fichiers Excel à l'aide des frameworks IronXL et Syncfusion Excel.

4.1 IronXL

IronXL permet la lecture de documents Excel sans utiliser Microsoft.Office.Interop.Excel . Avant de commencer avec IronXL, une étape importante est nécessaire : il faut toujours importer IronXL dans notre fichier de programme. Il faut donc écrire la ligne de code suivante en haut du fichier :

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
$vbLabelText   $csharpLabel

Ensuite, écrivez les lignes de code suivantes pour lire et modifier des fichiers Excel sans avoir à écrire plusieurs lignes de code nécessitant des connaissances en programmation de base.

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Select cells easily in Excel notation and return the calculated value, date, text, or formula
Dim cellValue As Integer = sheet("A2").IntValue

' Read from Ranges of cells elegantly.
For Each cell In sheet("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

La fonction WorkBook.Load permet de charger facilement le classeur. Dans le code fourni, nous voyons également les valeurs des cellules et les affichons dans la console.

4.2 Syncfusion Excel

Voyons comment lire et modifier des fichiers Excel existants à l'aide du framework Syncfusion Excel. Tout d'abord, pour utiliser le framework Excel Syncfusion, nous devons importer Syncfusion dans notre projet. Pour ce faire, nous devons ajouter les lignes de code suivantes en haut du fichier de code :

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
$vbLabelText   $csharpLabel

Ensuite, ajoutez les lignes de code suivantes au projet pour lire et accéder aux fichiers Excel à l'aide du framework Syncfusion Excel.

// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
' Create an instance of new ExcelEngine
Using excelEngine As New ExcelEngine()
	' Instantiate the Excel application object
	Dim application As IApplication = excelEngine.Excel
	' Set the Excel engine application version
	application.DefaultVersion = ExcelVersion.Excel2016

	' Load the existing Excel workbook
	Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")

	' Get the first worksheet
	Dim worksheet As IWorksheet = workbook.Worksheets(0)

	' Assign some text in a cell
	worksheet.Range("A3").Text = "Hello World"

	' Save the Excel document
	workbook.SaveAs("Output.xlsx")
End Using
$vbLabelText   $csharpLabel

On constate que pour lire des fichiers Excel dans Syncfusion Excel, il faut d'abord définir la version d'Excel. Ensuite, on peut ouvrir le fichier et le modifier. Pour enregistrer le fichier modifié, nous devons redéfinir le type de contenu du fichier modifié en fonction de la version d'Excel. IronXL est très facile à comprendre et à utiliser dans ce cas précis, car nous n'avons pas eu à définir la version d'Excel et parce que nous disposons de fonctions avec paramètres courtes et faciles à mémoriser dans IronXL.

5. Création de nouveaux documents Excel

Ensuite, nous comparerons les méthodes de création de nouveaux documents Excel et de remplissage des documents créés avec des valeurs. Nous allons tout d'abord examiner comment créer des documents dans IronXL.

5.1 IronXL

IronXL ne nécessite pas l'installation d'Excel sur votre serveur ni d'Interop. IronXL offre une API plus rapide et plus intuitive que Microsoft.Office.Interop.Excel . Comme nous le savons déjà, nous devons d'abord importer la bibliothèque IronXL, puis écrire le code pour créer les fichiers Excel. Le code suivant est utilisé pour créer des fichiers Excel dans IronXL.

using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
' Create a new Excel WorkBook document. 
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"

' Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")

' Add data and styles to the new worksheet
xlsSheet("A1").Value = "Hello World"
xlsSheet("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double

' Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
$vbLabelText   $csharpLabel

Output:

Sortie IronXL Sortie IronXL

Nous pouvons définir les métadonnées des fichiers Excel. Il est très facile de définir la valeur des cellules et de les formater grâce à des fonctions simples et faciles à utiliser. Nous utilisons la fonction Style.BottomBorder.SetColor pour définir la couleur de la bordure inférieure de la cellule.

5.2 Syncfusion Excel

Le code suivant montre comment créer un nouveau fichier Excel et l'enregistrer avec Syncfusion Excel. Ajoutez le code suivant et incluez les espaces de noms nécessaires :

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
$vbLabelText   $csharpLabel

Ajoutez maintenant les lignes de code suivantes :

// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
' New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
' Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
  ' Instantiate the Excel application object
  Dim application As IApplication = excelEngine.Excel

  ' Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013

  ' Create a workbook with 1 worksheet
  Dim workbook As IWorkbook = application.Workbooks.Create(1)

  ' Access first worksheet from the workbook
  Dim worksheet As IWorksheet = workbook.Worksheets(0)

  ' Adding text to a cell
  worksheet.Range("A1").Text = "Hello World"

  ' Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx")
End Using
$vbLabelText   $csharpLabel

Le code ci-dessus crée un nouvel objet IWorkbook , puis il crée une feuille de calcul dans le classeur à l'aide de la fonction Workbooks.Create() . Il accède aux cellules des feuilles de calcul Excel via sa propriété " cells ", puis il enregistre enfin le fichier à l'aide de la fonction SaveAs() .

6. Exportation de fichiers Excel

Ensuite, nous verrons comment exporter des fichiers Excel vers d'autres formats de données. Il s'agit d'une fonctionnalité importante pour les bibliothèques Excel car nous avons parfois besoin de données dans différents formats pour différents types de traitement ; c'est pourquoi nous allons vérifier quelle bibliothèque offre des solutions simples et faciles.

6.1 IronXL

Avec IronXL, nous pouvons convertir des fichiers Excel en une seule ligne de code. IronXL peut exporter des données Excel aux formats CSV, JSON, XML, XLSX, XLS et bien d'autres.

Le code suivant permet de convertir des fichiers Excel en différents formats à l'aide d'IronXL.

// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
$vbLabelText   $csharpLabel

Dans le code ci-dessus, nous constatons que nous pouvons exporter très facilement des fichiers Excel avec une seule ligne de code. Mais il nous faut d'abord ouvrir ou créer le fichier Excel, et nous avons déjà vu ci-dessus comment ouvrir et créer un fichier Excel à l'aide d'IronXL.

6.2 Syncfusion Excel

Le framework Syncfusion Excel peut convertir les fichiers Excel aux formats PDF et JSON. Nous pouvons convertir les fichiers Excel au format JSON sans installer de bibliothèque supplémentaire. Voici le code permettant de convertir un fichier Excel ouvert en fichier JSON.

// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
' Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")

' Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
$vbLabelText   $csharpLabel

Pour convertir des documents Excel classiques en fichiers PDF, il est nécessaire d'installer une bibliothèque supplémentaire qui assurera la prise en charge de la conversion. Excel-to-ODS enregistre les fichiers Excel au format ODS pour les utiliser dans diverses applications telles qu'OpenOffice et Google Sheets. Excel-to-HTML convertit dynamiquement un classeur ou une feuille de calcul Excel en fichier HTML.

7. Protection des fichiers Excel

La protection est la fonctionnalité la plus importante de Microsoft Excel. Il vous permet de contrôler qui peut modifier et ouvrir les fichiers. Les fichiers Excel protégés par mot de passe sont importants car ils peuvent contenir des données importantes. Voyons comment protéger nos fichiers Excel à l'aide des bibliothèques Excel.

7.1 IronXL

Grâce à IronXL, nous pouvons protéger notre fichier Excel avec une seule ligne de code. Le code suivant montre comment ouvrir et protéger un fichier Excel.

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet

' Protect the worksheet by setting the password to it
' Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()

' Unprotect the worksheet and remove any password locks 
' It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
$vbLabelText   $csharpLabel

La fonction ProtectSheet() permet de chiffrer un fichier Excel. Pour déprotéger la feuille, utilisez la fonction UnprotectSheet() après avoir chargé le fichier Excel. Cette fonction supprimera tous les mots de passe, même si vous ne les connaissez pas.

7.2 Syncfusion Excel

Nous pouvons protéger les fichiers Excel grâce au framework Syncfusion Excel. Le code suivant nous permet de créer et de protéger un fichier Excel.

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
Private Sub ProtectWorkbook()
	Using excelEngine As New ExcelEngine()
		' Instantiate the application object
		Dim application As IApplication = excelEngine.Excel

		' Create a workbook
		Dim workbook As IWorkbook = application.Workbooks.Create(1)

		' Protect the workbook specifying a password with Boolean attributes for structure and windows protection
		Dim isProtectWindow As Boolean = True
		Dim isProtectContent As Boolean = True
		workbook.Protect(isProtectWindow, isProtectContent, "password")

		' Save the Excel file
		workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
	End Using
End Sub
$vbLabelText   $csharpLabel

Nous utilisons la fonction Protect() pour chiffrer le fichier Excel. Il faut lui fournir trois paramètres : soit protéger uniquement la feuille, soit protéger également le contenu du fichier Excel. Le troisième paramètre est le mot de passe que vous souhaitez définir.

8. Licence

8.1 IronXL

IronXL est entièrement gratuit pour le développement. Vous pouvez explorer chaque aspect du développement. Cependant, la version de développement gratuite comportera un filigrane. Vous pouvez également l'essayer gratuitement en production. Vous pouvez activer l' essai gratuit pour la production sans aucun paiement. Si vous choisissez d'acheter IronXL, voici les tarifs proposés :

Édition Lite

Vous pouvez choisir l'édition Lite si vous êtes un développeur indépendant et que vous souhaitez utiliser IronXL dans votre projet. Ce sera la meilleure option pour vous.

! IronXL Lite IronXL Lite

Édition Professionnelle

L'édition professionnelle est idéale si votre entreprise possède plusieurs succursales à travers le monde. Cette édition prend en charge 10 emplacements, 10 développeurs et 10 projets simultanément.

! IronXL Professionnel IronXL Professionnel

Édition Illimitée

Ce forfait tarifaire permet un nombre illimité de développeurs, de sites et de projets, à vie, avec un seul paiement. C'est la meilleure option si vous préférez utiliser IronXL dans de nombreux projets.

IronXL Illimité IronXL Illimité

IronXL prend également en charge la distribution des redevances et vous offre également une assistance produit et des mises à jour.

! Distribution des redevances Répartition des redevances

La page de licences d'IronXL contient plus de détails sur les prix et les droits d'utilisation.

8.2 Bibliothèque Excel Syncfusion

La bibliothèque Excel Syncfusion propose également un essai gratuit. Si vous souhaitez acheter Syncfusion Excel, vous pouvez l'acheter pour $395 pour une équipe de cinq développeurs maximum. Syncfusion propose des licences supplémentaires pour les équipes de 10 développeurs ou plus , ainsi que des licences illimitées spéciales pour une utilisation dans des projets individuels ou pour des entreprises entières.

! Syncfusion Syncfusion

9. Conclusion

Les deux bibliothèques offrent des fonctionnalités efficaces. Mais, si l'on considère la situation dans son ensemble, IronXL est plus pratique et plus facile à utiliser. Elle possède des fonctions simples et faciles à mémoriser. Grâce à IronXL, vous pouvez effectuer de nombreuses modifications et mises en forme avec une seule ligne de code. Le flux du code est complexe, mais un débutant peut le comprendre très facilement. Vous n'avez pas besoin de connaître ni de comprendre le fonctionnement d'IronXL. Il n'est pas nécessaire d'installer des bibliothèques distinctes pour différentes plateformes. Installez-le une seule fois, et vous serez prêt pour toutes les actions.

Comme nous l'avons vu précédemment, Syncfusion Excel possède de nombreuses fonctionnalités. Nous pouvons effectuer de nombreuses mises en forme et conversions grâce à Syncfusion Excel. Nous pouvons créer de nouveaux documents Excel, modifier des fichiers Excel existants, effectuer plusieurs mises en forme et chiffrer les données. Nous devons installer une bibliothèque distincte pour effectuer les conversions.

IronXL propose une variété de plans tarifaires. Vous pouvez acheter le forfait qui correspond le mieux à vos besoins. Par exemple, si vous êtes le seul développeur et que vous avez besoin d'IronXL à des fins commerciales pour un projet, vous pouvez l'activer avec un paiement unique bien inférieur à celui de Syncfusion, qui vous oblige à acheter une bibliothèque pour un an seulement pour plusieurs centaines de dollars, pour un seul développeur et un seul projet. IronXL est donc bien moins cher et offre des options bien meilleures que le framework Excel Syncfusion.

En conclusion, IronXL est un meilleur choix que le framework Excel Syncfusion. Comme nous l'avons vu dans les paragraphes précédents, IronXL est très facile à utiliser grâce à ses fonctions simples, et nous pouvons effectuer de nombreuses mises en forme avec une seule ligne de code. Mais, dans le framework Syncfusion Excel, nous devons écrire plusieurs lignes de code pour définir de nombreux éléments déjà définis dans IronXL en arrière-plan, et l'utilisateur n'a pas besoin de passer du temps à définir de multiples paramètres et variables. De plus, IronXL est également moins cher et offre de meilleures options de licence. Iron Software propose actuellement une offre spéciale vous permettant d'acheter cinq logiciels pour le prix de deux seulement. Cela signifie que vous pouvez acheter cinq packs Iron Software à prix réduit.

Veuillez noterSyncfusion est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par ou sponsorisé par Syncfusion. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont faites à titre d'information uniquement et reflètent les informations publiquement disponibles au moment de la rédaction.

Questions Fréquemment Posées

Quels sont les principaux avantages de l'utilisation d'IronXL pour la manipulation de fichiers Excel ?

IronXL fournit une API simplifiée et conviviale qui permet aux développeurs de lire, écrire et manipuler facilement des documents Excel. Il prend en charge plusieurs formats de fichiers tels que XLS, XLSX, CSV et JSON, et inclut des fonctionnalités pour le chargement de données, la création de graphiques, la gestion des formules et le style des cellules sans besoin d'installation de Microsoft Excel.

Comment puis-je convertir des fichiers Excel en différents formats en C# ?

Vous pouvez utiliser IronXL pour exporter des fichiers Excel vers divers formats tels que CSV, JSON, XML, XLSX et XLS. Cela peut être fait avec un minimum de code, ce qui facilite l'intégration dans vos applications C#.

Est-il nécessaire d'installer Excel pour utiliser IronXL ?

Non, IronXL ne nécessite pas que Microsoft Excel soit installé sur votre serveur ou poste de travail. Il fournit sa propre API pour gérer les tâches de manipulation de fichiers Excel.

Comment le modèle de licence d'IronXL se compare-t-il à celui de Syncfusion Excel ?

IronXL propose une version de développement gratuite avec un filigrane et plusieurs éditions payantes pour une utilisation commerciale, offrant un modèle de licence flexible. En revanche, Syncfusion Excel nécessite l'achat d'une licence, dont le prix dépend du nombre de développeurs et de projets.

Qu'est-ce qui rend IronXL un choix préférable pour les débutants par rapport à Syncfusion Excel ?

IronXL est généralement plus facile pour les débutants grâce à son API simple et intuitive, qui permet d'effectuer des tâches complexes avec un minimum de code. Contrairement à Syncfusion Excel, IronXL ne nécessite pas de définir de multiples paramètres, le rendant plus accessible pour les développeurs novices en manipulation d'Excel.

IronXL peut-il gérer la protection et la sécurité des fichiers Excel ?

Oui, IronXL peut gérer la protection des fichiers Excel en permettant aux utilisateurs de sécuriser leurs documents avec des mots de passe et d'autres fonctionnalités de protection. Cela garantit l'intégrité et la confidentialité des données lors du partage de fichiers Excel.

Pourquoi les développeurs devraient-ils envisager d'utiliser IronXL plutôt que Syncfusion Excel ?

Les développeurs pourraient choisir IronXL plutôt que Syncfusion Excel pour sa simplicité, sa facilité d'utilisation, son efficacité en termes de coût et son ensemble de fonctionnalités robustes qui ne nécessitent pas de bibliothèques supplémentaires pour différentes plateformes. IronXL offre une approche directe pour la manipulation de fichiers Excel, le rendant idéal pour les développeurs.

IronXL prend-il en charge la gestion des formules dans les fichiers Excel ?

Oui, IronXL prend en charge le travail avec les formules Excel, vous permettant de lire, écrire et évaluer des formules dans vos fichiers Excel, offrant une solution complète pour gérer les calculs complexes de manière programmée.

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