UTILISATION D'IRONXL

Comment ajuster automatiquement les cellules dans Excel à l'aide de C#

Publié avril 29, 2024
Partager:

Introduction

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.

1. Créez un projet [Visual Studio] (https://visualstudio.microsoft.com/) pour démontrer l'adaptation automatique des cellules dans une feuille de calcul Excel.

  1. Installer IronXL au projet.

  2. Ajustement automatique de la largeur des colonnes en utilisant la bibliothèque IronXL.

  3. Ajustement automatique de la hauteur des rangées à l'aide de la bibliothèque IronXL.

  4. Définir manuellement la largeur des colonnes et la hauteur des lignes à l'aide de la bibliothèque IronXL.

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.

Principales caractéristiques de la bibliothèque IronXL

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Autofit Cells : L'une des fonctions pratiques offertes par IronXL est la possibilité d'ajuster automatiquement les cellules dans Excel, en veillant à ce que le contenu s'insère parfaitement dans chaque cellule sans troncature.

Étape 1 : Créer un projet Visual Studio pour démontrer l'adaptation automatique des cellules dans une feuille de calcul Excel.

Pour commencer, créons un projet Visual Studio comme indiqué ci-dessous. Sélectionnez le modèle d'application Console dans la liste

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 1 - Ouvrez Visual Studio et ajoutez un nouveau projet de type Application console en C#.

Indiquer le nom et l'emplacement du projet

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 2 - Indiquez ensuite le nom du projet et l'emplacement.

Sélectionnez la version .NET requise dans le menu déroulant et cliquez sur créer

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 3 - Sélectionnez ensuite la version du Framework .NET requise et cliquez sur Créer.

Étape 2 : Installer la bibliothèque IronXL dans le projet.

Installer IronXL à partir du gestionnaire de paquets NuGet de Visual Studio

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 4 - Installez IronXL à l'aide de la solution Manage NuGet Package for en recherchant "IronXL" ; dans la barre de recherche de NuGet Package Manager, puis sélectionnez le projet et cliquez sur le bouton Installer.

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
VB   C#

Comment ajuster automatiquement les cellules dans Excel en utilisant C# : Figure 5 - Paquet NuGet IronXL.Excel

Nous sommes alors prêts à commencer à coder.

Étape 3 : Ajustement automatique de la largeur des colonnes à l'aide de la bibliothèque IronXL

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.

Fichier d'entrée

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.

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 6 - Fichier Excel d'entrée

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
VB   C#

Explication du code

  1. Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() méthode.

  2. 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.

  3. Ensuite, nous itérons à travers tous les index afin de dimensionner automatiquement la largeur des colonnes

  4. Nous enregistrons ensuite le résultat dans un nouveau fichier nommé autoResize.xlsx

Fichier de sortie

Ci-dessous, vous pouvez voir que toutes les colonnes sont automatiquement redimensionnées et visibles.

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 7 - Sortie d'Excel avec une largeur de colonne ajustée automatiquement.

Étape 4 : Ajustement automatique de la hauteur des rangées à l'aide de la bibliothèque IronXL.

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

Fichier Excel d'entrée

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.

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 8 - Fichier Excel d'entrée

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
VB   C#

Explication du code

  1. Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() méthode.

  2. 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.

  3. Ensuite, nous itérons à travers tous les index pour dimensionner automatiquement les hauteurs des lignes

  4. Nous enregistrons ensuite le résultat dans un nouveau fichier nommé autoResizeRows.xlsx

Fichier Excel de sortie

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 9 - Sortie d'Excel avec une hauteur de colonne ajustée automatiquement.

Étape 5 : Définir manuellement la largeur des colonnes et la hauteur des lignes à l'aide d'IronXL

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

Fichier Excel d'entrée

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 10 - Fichier Excel d'entrée

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")
VB   C#

Explication du code

  1. Dans un premier temps, nous chargeons le fichier FinancialSample.xlsx à l'aide de WorkBook.Load() fonction.

  2. 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

  3. Nous définissons ensuite les valeurs de hauteur et de largeur

  4. Nous enregistrons ensuite le résultat dans un nouveau fichier portant le nom specificValue.xlsx

Fichier Excel de sortie

Comment ajuster automatiquement les cellules dans Excel à l'aide de C# : Figure 11 - Sortie d'Excel avec une largeur et une hauteur de colonne définies manuellement.

Licences

IronXL.

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
VB   C#

Conclusion

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#.

< PRÉCÉDENT
Comment importer Excel vers le serveur SQL en C#
SUIVANT >
Comment analyser un fichier Excel en Python