Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Dans le monde actuel axé sur les données, Microsoft Excel reste un outil indispensable pour les entreprises et les professionnels. Qu'il s'agisse de calculer des chiffres, de créer des rapports ou de visualiser des données, la polyvalence d'Excel est inégalée. Cependant, lorsqu'il s'agit de manipuler par programme des fichiers Excel en C#, les développeurs sont souvent confrontés à des difficultés. C'est ici que IronXL entre en jeu, offrant une solution transparente pour l'automatisation d'Excel dans l'environnement C#.
IronXL bibliothèque de Iron Software fournit des API intuitives permettant de traiter les documents Excel de manière transparente dans les environnements C# .NET et VB.NET. Avec IronXL, il n'est pas nécessaire d'installer les composants Microsoft Office ou Excel Interop. Il permet aux développeurs de lire, d'éditer et de créer sans effort des fichiers de feuilles de calcul Excel, en offrant une prise en charge complète de divers Framework .NET, notamment .NET 8, 7, 6, Core Frameworks, et des environnements Azure.
Dans cet article, nous allons apprendre comment ajuster automatiquement la largeur et la hauteur des colonnes dans Excel en utilisant C# et IronXL.
Installer IronXL au projet.
Ajustement automatique de la largeur des colonnes en utilisant la bibliothèque IronXL.
Ajustement automatique de la hauteur des rangées à l'aide de la bibliothèque IronXL.
IronXL est une bibliothèque .NET polyvalente conçue pour simplifier la manipulation des feuilles de calcul Excel pour les développeurs C#. Offrant une API rapide et intuitive, IronXL permet aux utilisateurs d'accéder, de modifier et de générer des fichiers Excel sans effort et sans dépendre d'Office Interop. Sa compatibilité s'étend à divers Framework .NET, notamment .NET Core et Azure, sans nécessiter de dépendances particulières ni l'installation de Microsoft Office. Grâce à la prise en charge de plusieurs langages .NET tels que C#, VB.NET et F#, IronXL répond à un large éventail de scénarios de développement, notamment les applications de console, web et de bureau. De plus, la compatibilité d'IronXL s'étend à différentes plateformes, notamment Windows, Linux, macOS, Docker, Azure et AWS, ce qui en fait un outil indispensable pour les développeurs à la recherche d'une intégration efficace d'Excel dans divers environnements.
Intégration facile : IronXL s'intègre de manière transparente aux applications C#, fournissant une API simple et intuitive pour l'automatisation d'Excel. Les développeurs peuvent démarrer rapidement avec une courbe d'apprentissage minimale.
Lire et écrire des fichiers Excel : Avec IronXL, vous pouvez sans effort lire des données à partir de fichiers Excel existants et écrire des données dans des feuilles de calcul nouvelles ou existantes. Cette capacité est essentielle pour des tâches telles que l'importation/exportation de données et la génération de rapports.
Formatage et style : IronXL vous permet d'appliquer une mise en forme et un style aux cellules Excel, y compris les polices, les couleurs, les bordures, et plus encore. Cela garantit que les fichiers Excel générés conservent une apparence professionnelle et soignée.
Prise en charge des formules : Vous devez effectuer des calculs complexes ou appliquer des formules à des données Excel ? IronXL prend en charge les formules Excel, ce qui vous permet d'automatiser les calculs et la manipulation des données.
Pour commencer, créons un projet Visual Studio comme indiqué ci-dessous. Sélectionnez le modèle d'application Console dans la liste
Indiquer le nom et l'emplacement du projet
Sélectionnez la version .NET requise dans le menu déroulant et cliquez sur créer
Installer IronXL à partir du gestionnaire de paquets NuGet de Visual Studio
Le paquetage peut également être installé à l'aide de la ligne de commande NuGet
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
Nous sommes alors prêts à commencer à coder.
La méthode AutoSizeColumn de IronXL ajuste la largeur d'une colonne en fonction de son contenu. Cette méthode calcule la largeur du texte en fonction de la police utilisée dans la cellule. Si la police exacte n'est pas disponible sur le système, il tentera de la mesurer à l'aide d'une police par défaut. Si aucune police par défaut n'est trouvée, il essaiera d'utiliser n'importe quelle police disponible. Cependant, si aucune police n'est trouvée, une exception sera levée. Il utilise comme paramètre un index de colonne basé sur zéro. Il doit être compris dans les limites définies par 0 et (Nombre de colonnes - 1). une Exception d'argument est levée si l'indice de colonne fourni est en dehors de la plage valide. SixLabors.Fonts.FontException** est déclenchée lorsqu'aucune police n'est installée sur la machine.
Voyons maintenant comment nous pouvons l'utiliser pour redimensionner un fichier Excel. Vous pouvez télécharger un exemple de fichier Excel à partir de ici.
Ici, vous pouvez voir que la largeur des colonnes n'est pas correctement définie et qu'elle est donc très difficile à lire. Maintenant, nous allons
voir comment nous pouvons utiliser la bibliothèque IronXL pour ajuster automatiquement la largeur des colonnes dans une feuille Excel.
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// auto fit column width for index i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// auto fit column width for index i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private colCount = workSheet.Columns.Count()
For i As Integer = 0 To colCount - 1
' auto fit column width for index i
workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' result file
Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() méthode.
Ensuite, nous obtenons la plage de cellules pour laquelle les largeurs de colonnes doivent être ajustées, dans ce cas, nous obtenons le nombre de colonnes.
Ensuite, nous itérons à travers tous les index afin de dimensionner automatiquement la largeur des colonnes
Ci-dessous, vous pouvez voir que toutes les colonnes sont automatiquement redimensionnées et visibles.
La méthode AutoSizeRow ajuste la hauteur d'une ligne en fonction de son contenu. Il est important de noter que cette méthode calcule la hauteur du texte en fonction de la police utilisée dans la cellule. Si la police exacte n'est pas disponible sur le système, il tentera de la mesurer à l'aide d'une police par défaut. Si aucune police par défaut n'est trouvée, il essaiera d'utiliser n'importe quelle police disponible. Cependant, si aucune police n'est trouvée, une exception sera levée. Il utilise comme paramètre un index de ligne basé sur zéro. Il doit être compris dans les limites définies par 0 et (Nombre de lignes - 1). une Exception d'argument est levée si le rowIndex fourni est en dehors de la plage valide. SixLabors.Fonts.FontException** est levée lorsqu'aucune police n'est installée sur la machine
Dans l'exemple ci-dessous, vous pouvez voir que certaines lignes ne sont pas dimensionnées pour fixer les données de manière appropriée. Examinons maintenant le code C# permettant d'ajuster automatiquement la hauteur des lignes d'Excel.
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private rowCount = workSheet.RowCount
For i As Integer = 0 To rowCount - 1
workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() méthode.
Ensuite, nous obtenons la plage de cellules pour laquelle les hauteurs de ligne doivent être ajustées, dans ce cas, nous obtenons le nombre de lignes.
Ensuite, nous itérons à travers tous les index pour dimensionner automatiquement les hauteurs des lignes
Outre le redimensionnement automatique des lignes et des colonnes, IronXL propose également d'ajuster manuellement la largeur et la hauteur à une valeur spécifique de hauteur de ligne et à une valeur spécifique de largeur de colonne
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() fonction.
Nous obtenons ensuite la plage de cellules pour laquelle la hauteur des lignes doit être ajustée, ainsi que la plage de cellules pour laquelle la largeur des colonnes doit être ajustée
Nous définissons ensuite les valeurs de hauteur et de largeur
La licence obtenue doit être placée dans le fichier appSettings.json
{
"IronXL.License.LicenseKey":"myTrialKey"
}
{
"IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
"IronXL.License.LicenseKey":"myTrialKey"
End If
Avec des fonctionnalités telles que AutoSizeColumn et AutoSizeRow de IronXLles développeurs peuvent s'assurer sans effort que les feuilles de calcul Excel s'adaptent dynamiquement au contenu qu'elles contiennent, qu'il s'agisse de données importées, de rapports dynamiques, de contenu généré par l'utilisateur ou de résultats d'analyses de données.
IronXLla compatibilité d'IronXL avec divers Framework .NET, y compris .NET Core et Azure, garantit que les développeurs peuvent incorporer l'automatisation d'Excel dans une large gamme d'applications sans dépendre de Microsoft Office ou d'Excel Interop. En outre, la prise en charge par IronXL de plusieurs langages et plateformes .NET en fait un choix polyvalent pour les développeurs qui cherchent à rationaliser les tâches de manipulation d'Excel dans divers environnements.
En résumé, IronXL permet aux développeurs d'améliorer la productivité, la précision et la flexibilité dans les projets d'automatisation d'Excel, en offrant une suite complète de fonctionnalités pour répondre aux exigences du développement C# moderne. Qu'il s'agisse de générer des rapports, d'analyser des données ou de présenter des informations, IronXL fournit les outils nécessaires pour exceller dans l'automatisation d'Excel au sein de l'écosystème C#.
9 produits de l'API .NET pour vos documents de bureau