UTILISATION D'IRONXL

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

Regan Pun
Regan Pun
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 la bibliothèque IronXL entre en jeu, offrant une solution transparente pour l'automatisation d'Excel dans l'environnement C#.

La bibliothèque IronXL de Iron Software offre des API intuitives pour manipuler 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 pour démontrer l'ajustement automatique des cellules dans une feuille de calcul Excel.

  1. Installez la bibliothèque IronXL dans le projet.

  2. Ajuster automatiquement la largeur des colonnes à l'aide de la bibliothèque IronXL.

  3. Ajuster automatiquement la hauteur de la ligne en utilisant la bibliothèque IronXL.

  4. Définissez la largeur des colonnes et la hauteur des lignes manuellement en utilisant 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 parfaitement aux applications C#, offrant 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 lire facilement les données 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 un formatage 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 : Besoin d'effectuer des calculs complexes ou d'appliquer des formules aux 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. Ajustement automatique des cellules : L'une des fonctionnalités pratiques offertes par IronXL est la capacité d'ajuster automatiquement les cellules dans Excel, garantissant que le contenu s'adapte parfaitement à 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 en utilisant 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 en utilisant C#: Figure 2 - Ensuite, spécifiez 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 en utilisant C#: Figure 3 - Ensuite, sélectionnez la version requise de .NET Framework et cliquez sur Créer.

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

Installez la bibliothèque IronXL à partir du gestionnaire de packages NuGet de Visual Studio

Comment ajuster automatiquement les cellules dans Excel en utilisant C#: Figure 4 - Installez IronXL en utilisant le gestionnaire de packages NuGet pour la solution en recherchant "IronXL" dans la barre de recherche du gestionnaire de packages NuGet, 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
$vbLabelText   $csharpLabel

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

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 la bibliothèque IronXL ajuste la largeur d'une colonne pour s'adapter à 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 dans les limites définies par 0 et (ColumnCount - 1). Une ArgumentException est levée si l'columnIndex fourni est en dehors de la plage valide. SixLabors.Fonts.FontException est levée lorsque aucune police n'est installée sur la machine.

Maintenant, voyons 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 en utilisant 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
$vbLabelText   $csharpLabel

Explication du code

  1. Initialement, nous chargeons le fichier FinancialSample.xlsx en utilisant la méthode WorkBook.Load().

  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 la taille des cellules dans Excel en utilisant C#: Figure 7 - Sortie Excel avec 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 pour accommoder 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 entre 0 et (RowCount - 1). Une ArgumentException est levée si l'indexLigne 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 en utilisant 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
$vbLabelText   $csharpLabel

Explication du code

  1. Initialement, nous chargeons le fichier FinancialSample.xlsx en utilisant la méthode WorkBook.Load().

  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 en utilisant C# : Figure 9 - Excel de sortie avec 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 en utilisant 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")
$vbLabelText   $csharpLabel

Explication du code

  1. Initialement, nous chargeons le fichier FinancialSample.xlsx en utilisant la fonction WorkBook.Load().

  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 en utilisant C#: Figure 11 - Excel de sortie avec une largeur et une hauteur de colonne dimensionnées 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
$vbLabelText   $csharpLabel

Conclusion

Avec des fonctionnalités telles que AutoSizeColumn et AutoSizeRow de IronXL, les développeurs peuvent facilement garantir que les feuilles de calcul Excel s'ajustent dynamiquement au contenu qu'elles contiennent, qu'il s'agisse de données importées, de rapports dynamiques, de contenu généré par les utilisateurs ou de résultats d'analyse de données.

La compatibilité de IronXL avec divers frameworks .NET, y compris .NET Core et Azure, garantit que les développeurs peuvent intégrer l'automatisation d'Excel dans un large éventail d'applications sans dépendances sur Microsoft Office ou Excel Interop. De plus, la prise en charge par IronXL de plusieurs langages et plateformes .NET en fait un choix polyvalent pour les développeurs cherchant à simplifier les tâches de manipulation d'Excel dans divers environnements.

En essence, IronXL permet aux développeurs d'améliorer la productivité, la précision et la flexibilité dans les projets d'automatisation Excel, offrant une suite complète de fonctionnalités pour répondre aux exigences du développement C# moderne. Que ce soit pour générer des rapports, analyser des données ou présenter des informations, IronXL fournit les outils nécessaires pour exceller dans l'automatisation d'Excel au sein de l'écosystème C#.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
Comment importer Excel vers le serveur SQL en C#
SUIVANT >
Comment analyser un fichier Excel en Python