using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Comparaison entre IronXL et Microsoft Office Interop Excel
Kannapat Udonpant
mars 28, 2022
Partager:
Les outils MS Office tels que Word, Excel, PowerPoint, etc. sont très populaires et largement utilisés dans tous les types d'entreprises. La création de fichiers de rapport au format Excel est une fonctionnalité dont de nombreux utilisateurs ont besoin dans leurs applications logicielles, et il existe désormais une manière définitive d'inclure cette fonctionnalité dans les applications logicielles à l'aide des différentes bibliothèques disponibles.
Dans cet article, nous allons discuter et comparer comment travailler avec des fichiers Microsoft Excel de manière programmatique en C# en utilisant les deux bibliothèques les plus populaires, IronXL et Microsoft Office Excel Interop.
IronXL et Microsoft Excel Interop fournissent tous deux des méthodes pour créer, modifier et lire des documents Excel dans les frameworks .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.
La bibliothèque IronXL
IronXL est une bibliothèque .NET qui facilite la lecture et l'édition de documents Microsoft Excel en 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 .NET Framework.
Docs & Support
Documentation de référence de l'API en ligne
Des bouts de phrase et des tutoriels utiles pour démarrer sont disponibles à l'adresse suivanteironsoftware.com
Charger, lire et modifier des données - à partir de XLS/XLSX/CSV/TSV
Sauvegarde et exportation - vers XLS/XLSX/CSV/TSV/JSON
Objets System.Data - Travailler avec des feuilles de calcul Excel en tant qu'objets System.Data.DataSet et System.Data.DataTable.
Formules - permet de travailler avec des formules Excel. Les formules sont recalculées chaque fois qu'une feuille est éditée.
Plages - Fiche de travail facile à utiliser["A1:B10] syntaxe. Combinez et créez des gammes de manière intuitive.
Tri - Permet de trier les plages, les colonnes et les lignes.
Stylisation - Styles visuels des cellules, police, taille, motif d'arrière-plan, bordure, alignement et formats des nombres.
Objets interopérables Microsoft Office Excel
L'espace de noms Microsoft.Office.Interop.Excel fournit des méthodes pour interagir avec l'application Microsoft Excel en C# et Visual Basic. Cet espace de noms permet de créer de nouveaux classeurs Excel, des feuilles de travail Excel, d'afficher des données dans des feuilles existantes, de modifier le contenu de feuilles Excel existantes et bien d'autres choses encore.
Les classes et interfaces de Microsoft.Office.Interop.Excel fournissent un support pour l'interopérabilité entre le modèle d'objet COM des fichiers Microsoft Excel et les applications gérées qui automatisent les fichiers xls ou xlsx.
Le langage de programmation C# comprend des fonctionnalités qui facilitent le travail avec les objets de l'API Microsoft Office Interop. Les nouvelles fonctionnalités comprennent les arguments nommés et facultatifs, un nouveau type appelé dynamique et la possibilité de passer des arguments aux paramètres de référence dans les méthodes COM comme s'il s'agissait de paramètres de valeur. Il s'agit donc d'un meilleur choix pour travailler avec des objets COM et Interop.
Remarque : les objets interop de Microsoft Excel nécessitent l'installation de Microsoft Excel sur l'ordinateur
Le reste de l'article se lit comme suit :
Créer une application console
Installation de la bibliothèque C# d'IronXL
Microsoft Office Interop Excel Installation
Créer un nouveau classeur et une nouvelle feuille Excel
Lire des fichiers Excel
Travailler avec des plages de valeurs dans les fichiers Excel
Travailler avec des formules Excel
Licences
Résumé et conclusion
1. Créer une application console
Suivez les étapes suivantes pour créer une application console :
Démarrer l'IDE Visual Studio 2022.
Cliquez sur "Créer un nouveau projet ".
Sur la page "Créer un nouveau projet ", sélectionnez C# dans la liste déroulante des langues, Windows dans la liste Platformes et Console dans la liste "Types de projets ".
Sélectionnez Application console(framework .NET) à partir des modèles de projet affichés.
Cliquez sur Suivant.
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.
2. IronXL C&num ; Installation de la bibliothèque
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.
2.1. Utilisation de Visual Studio avec les paquets NuGet
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.
Maintenant, à partir de l'onglet Parcourir -> rechercher IronXL.Excel -> Installer
Et nous avons terminé.
3.2. Utilisation de la console NuGet Package Manager
Une autre façon de télécharger et d'installer la bibliothèque Microsoft.Office.Interop.Excel C# est d'utiliser 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.
Cette opération permet de télécharger et d'installer le paquet.
Rechargez votre projet Visual Studio et commencez à l'utiliser.
3.3. Ajouter les directives d'utilisation nécessaires
Dans l'explorateur de solutions, cliquez avec le bouton droit de la souris sur le fichier Program.cs, puis cliquez sur Afficher le code.
Ajoutez les directives d'utilisation suivantes au début du fichier de code :
using Excel = Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
Imports Excel = Microsoft.Office.Interop.Excel
$vbLabelText $csharpLabel
4. Créer un nouveau classeur et une nouvelle feuille Excel
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.
4.1. Un nouveau classeur et une nouvelle feuille Excel à l'aide d'IronXL
Il n'y a rien de plus simple que de créer un nouveau classeur Excel à l'aide d'IronXL! Une seule ligne de code! Oui, vraiment. Ajoutez le code suivant à votre fonction statique void main dans le fichier Program.cs :
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText $csharpLabel
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 facile 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")
$vbLabelText $csharpLabel
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.
4.2. Un nouveau classeur et une nouvelle feuille Excel à l'aide de Microsoft.Office.Interop.Excel
Pour créer un fichier Excel à l'aide de Microsoft.Office.Interop, Microsoft Excel doit être installé. Nous devons donc vérifier si Microsoft Excel est installé sur la machine hôte - si ce n'est pas le cas, il renverra simplement une exception qui devra être gérée. Les exemples de code suivants vous permettent de vérifier l'installation d'une application Excel et de créer des classeurs et des feuilles Excel :
Vérifier que Microsoft Excel est installé :
//Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();
//Checks if Excel is installed
if (xlApp == null)
{
Console.WriteLine("Excel is not installed in the system...");
return;
}
//Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();
//Checks if Excel is installed
if (xlApp == null)
{
Console.WriteLine("Excel is not installed in the system...");
return;
}
'Start Excel and get Application object.
Dim xlApp As New Excel.Application()
'Checks if Excel is installed
If xlApp Is Nothing Then
Console.WriteLine("Excel is not installed in the system...")
Return
End If
'Create Workbook and Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add(misValue)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText $csharpLabel
Jusqu'à présent, en examinant les deux codes, l'avantage se trouve du côté d'IronXL par rapport à Office Interop Excel. IronXL n'utilise qu'une seule ligne de code pour pouvoir travailler avec des fichiers Excel, sans complications ni dépendances supplémentaires.
5. Lire les fichiers Excel
Les deux bibliothèques peuvent ouvrir et lire des documents Excel existants. Jetons un coup d'œil à l'exemple de code.
5.1. Lire les fichiers Excel avec IronXL
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")
$vbLabelText $csharpLabel
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")
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
5.2. Lire les fichiers Excel à l'aide de Microsoft.Office.Interop.Excel
Cette méthode utilise également une ligne de code pour ouvrir un classeur et une feuille. Le code est le suivant :
Excel.Application xlApp = new Excel.Application();
//Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
//Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Application xlApp = new Excel.Application();
//Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
//Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Dim xlApp As New Excel.Application()
'Load WorkBook
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
'Open Sheet for reading
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText $csharpLabel
Code pour la lecture des valeurs des cellules :
//Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;
//Reading first 10 rows of with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)
{
firstValue = Convert.ToString((xlRange.Cells [rowCount, 1] as Excel.Range).Text);
secondValue = Convert.ToString((xlRange.Cells [rowCount, 2] as Excel.Range).Text);
Console.WriteLine(firstValue + "\t" + secondValue);
}
//Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;
//Reading first 10 rows of with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)
{
firstValue = Convert.ToString((xlRange.Cells [rowCount, 1] as Excel.Range).Text);
secondValue = Convert.ToString((xlRange.Cells [rowCount, 2] as Excel.Range).Text);
Console.WriteLine(firstValue + "\t" + secondValue);
}
Imports Microsoft.VisualBasic
'Get the entire range of cells
Dim xlRange As Excel.Range = xlWorkSheet.UsedRange
'Reading first 10 rows of with two columns
For rowCount As Integer = 1 To 10
firstValue = Convert.ToString((TryCast(xlRange.Cells (rowCount, 1), Excel.Range)).Text)
secondValue = Convert.ToString((TryCast(xlRange.Cells (rowCount, 2), Excel.Range)).Text)
Console.WriteLine(firstValue & vbTab & secondValue)
Next rowCount
$vbLabelText $csharpLabel
Cependant, la vérification de l'installation d'Excel et la création de son instance en font partie intégrante.
6. Travailler avec des plages de valeurs dans les fichiers Excel
6.1. Travailler avec des plages de valeurs en utilisant IronXL
Dans IronXL, une seule ligne de code permet d'obtenir la plage de valeurs de certaines cellules. Ensuite, à l'aide d'une boucle, chaque valeur de cellule peut être lue ou modifiée. Le code est le suivant :
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();
//This is how we get range from Excel worksheet
var range = sheet ["A2:A8"];
//This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
Console.WriteLine(cell.Value);
}
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();
//This is how we get range from Excel worksheet
var range = sheet ["A2:A8"];
//This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
Console.WriteLine(cell.Value);
}
Dim workbook As WorkBook = WorkBook.Load("test.xls")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
'This is how we get range from Excel worksheet
Dim range = sheet ("A2:A8")
'This is how we can iterate over our range and read or edit any cell
For Each cell In range
Console.WriteLine(cell.Value)
Next cell
$vbLabelText $csharpLabel
6.2. Travailler avec des plages de valeurs en utilisant Microsoft.Office.Interop.Excel
Cette méthode utilise également une ligne de code pour obtenir la plage de valeurs des cellules. Les cellules peuvent alors être mises à jour avec les valeurs requises. Le code est le suivant :
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Dim xlApp As New Excel.Application()
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
'Get range of values and updating their format
Dim range = xlWorkSheet.get_Range("A1", "D1")
range.NumberFormat = "$0.00"
$vbLabelText $csharpLabel
7. Travailler avec des formules Excel
Les formules Excel constituent la partie la plus importante du travail avec les fichiers Excel. Les deux bibliothèques permettent de travailler avec des formules et de les appliquer facilement aux cellules.
7.1. Travailler avec des formules Excel à l'aide d'IronXL
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()
$vbLabelText $csharpLabel
Vous pouvez également récupérer des formules et leurs valeurs.
// Get Formulas
// 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 Formulas
// 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 Formulas
' 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()
$vbLabelText $csharpLabel
7.2. Travailler avec des formules Excel en utilisant Microsoft.Office.Interop.Excel
De même, après avoir chargé le classeur et la feuille de calcul, le code suivant peut être utilisé pour travailler sur les formules Excel. L'exemple de code est le suivant :
//Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");
// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
//Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");
// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
'Get range of values and updating their format
Dim range1 = xlWorkSheet.get_Range("A1", "D1")
Dim range2 = xlWorkSheet.get_Range("C2", "C6")
' Set Formula
range1.Formula = "=RAND()*100000"
range2.Formula = "=A2 & "" "" & B2"
$vbLabelText $csharpLabel
8. Licences
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.
Pour Microsoft Office Interop Excel, les applications utilisant ce fichier DLL ne nécessitent pas de licence distincte, que ce soit pour un usage unique ou commercial. Pour qu'une solution puisse fonctionner avec une application Office, les applications Microsoft Office doivent être installées et faire l'objet d'une licence sur la machine où la solution est exécutée. La DLL sera toujours présente sur une machine où l'application Office est installée, et elle y sera enregistrée. Dans le même temps, l'assemblage interop primaire(PIA) nécessaires aux solutions .NET utilisant l'"interop" seront également installées dans le GAC.
9. Résumé et conclusion
Résumé
Lecture et création d'Excel(XLS, XLSX et CSV) en C# et dans tous les autres langages .NET est facile à réaliser grâce à la bibliothèque logicielle IronXL d'Iron Software. IronXL ne nécessite pas l'installation d'Excel sur votre serveur ou Interop. IronXL fournit une API plus rapide et plus intuitive que Microsoft.Office.Interop.Excel. IronXL fonctionne sur .NET Core 2, Framework 4.5, Azure, Mono et, Mobile et Xamarin.
Microsoft Office Interop(Automatisation d'Excel) est une option lors de la création/lecture de fichiers Excel(XLS, XLSX, CSV) à partir d'applications C# ou VB.NET. Il nécessite que toutes les machines clientes aient la même version de Microsoft Excel installée, et il ne fonctionne que sur les systèmes d'exploitation Windows.
Conclusion
IronXL présente ici un net avantage sur Microsoft.Office.Interop.Excel, car il ne nécessite pas l'installation de l'application Microsoft Office Excel sur la machine locale ou le serveur pour fonctionner. En outre, lors de l'utilisation d'Excel Automation, Microsoft Excel est chargé en arrière-plan, ce qui utilise beaucoup de Mo et charge un grand nombre de fichiers et de DLL par rapport à IronXL. IronXL possède une API plus rapide et plus intuitive que celle de Microsoft.Office.Interop.Excel.
Applications Microsoft Office(y compris Excel) ont été conçus comme des applications d'interface utilisateur, et l'API est donc très lente. Microsoft ne recommande pas l'utilisation d'Excel Automation(ou tout Office Interop) sur le serveur. Dans ce cas, avec toutes ses caractéristiques robustes, IronXL est le meilleur choix pour l'intégration dans des applications logicielles.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier