Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment ajuster automatique les cellules d'Excel en utilisant C#

Dans le monde actuel axé sur les données, Microsoft Excel reste un outil indispensable pour les entreprises et les professionnels. Que ce soit pour traiter des chiffres, créer des rapports ou visualiser des données, la polyvalence d'Excel est inégalée. Cependant, en ce qui concerne la manipulation programmatique des fichiers Excel en C#, les développeurs rencontrent souvent des défis. C'est là que la bibliothèque IronXL entre en jeu, offrant une solution intégrée pour l'automatisation d'Excel dans l'environnement C#.

La bibliothèque IronXL de Iron Software propose des API intuitives pour gérer 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 des composants Microsoft Office ou Excel Interop. Elle permet aux développeurs de lire, éditer et créer facilement des fichiers de tableur Excel, offrant un support complet pour divers frameworks .NET, y compris .NET 8, 7, 6, les frameworks Core et les environnements Azure.

Dans cet article, nous apprendrons comment ajuster automatiquement la largeur et la hauteur des colonnes dans Excel en utilisant C# et IronXL.

  1. Créer un projet Visual Studio pour démo Autofit Cells dans une feuille de calcul Excel.
  2. Installer la bibliothèque IronXL dans le projet.
  3. Ajuster automatiquement la largeur des colonnes en utilisant la bibliothèque IronXL.
  4. Ajuster automatiquement la hauteur des lignes en utilisant la bibliothèque IronXL.
  5. Définir manuellement la largeur des colonnes et la hauteur des lignes en utilisant la bibliothèque IronXL.

IronXL

La bibliothèque 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, modifier et générer facilement des fichiers Excel sans dépendre d'Office Interop. Sa compatibilité s'étend à divers frameworks .NET, y compris .NET Core et Azure, sans nécessiter de dépendances spéciales ou l'installation de Microsoft Office. Avec le support de langages .NET multiples tels que C#, VB.NET et F#, IronXL s'adapte à une large gamme de scénarios de développement, y compris les applications console, web et desktop. De plus, la compatibilité d'IronXL s'étend à différentes plateformes, y compris Windows, Linux, macOS, Docker, Azure et AWS, en faisant un outil indispensable pour les développeurs recherchant une intégration Excel efficace dans des environnements divers.

Principales fonctionnalités 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 rapidement commencer avec un minimum de courbe d'apprentissage.
  2. Lire et Écrire des fichiers Excel : Avec IronXL, vous pouvez facilement lire des données de fichiers Excel existants et écrire des données dans des tableurs nouveaux ou existants. Cette capacité est essentielle pour les tâches telles que l'import/export de données et la génération de rapports.
  3. Formatage et Style : IronXL vous permet d'appliquer du formatage et du style aux cellules Excel, y compris les polices, les couleurs, les bordures, et plus. Cela garantit que vos fichiers Excel générés conservent un aspect professionnel et soigné.
  4. Support des Formules : Besoin d'effectuer des calculs complexes ou d'appliquer des formules aux données Excel ? IronXL vous couvre avec le support des formules Excel, vous permettant 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 possibilité d'ajuster automatiquement les cellules dans Excel, garantissant que le contenu s'adapte parfaitement dans chaque cellule sans être tronqué.

Étape 1 : Créer un projet Visual Studio pour démo Autofit Cells 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 avec C#: Figure 1 - Ouvrez Visual Studio, et ajoutez un nouveau projet de type Application Console en C#.

Fournir un nom et un emplacement pour le projet

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 2 - Ensuite, spécifiez le nom et l'emplacement du projet.

Sélectionnez la version .NET requise dans la liste déroulante et cliquez sur créer

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 3 - Puis, sélectionnez la version du framework .NET requise et cliquez sur Créer.

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

Installer la bibliothèque IronXL à partir de Visual Studio NuGet Package Manager

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 4 - Installez IronXL en utilisant le Gestionnaire de Paquets NuGet pour la solution en recherchant IronXL dans la barre de recherche du gestionnaire de paquets NuGet, puis sélectionnez le projet et cliquez sur le bouton Installer.

Le package peut également être installé en utilisant 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
SHELL

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

Avec cela, nous sommes prêts à commencer le codage.

Étape 3 : Ajuster automatiquement la largeur des colonnes en utilisant 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, elle essaiera de mesurer celle-ci en utilisant une police par défaut. Si aucune police par défaut n'est trouvée, elle essaiera d'utiliser toute police disponible. Cependant, si aucune police n'est trouvée, une exception sera levée. Elle utilise un index de colonne basé sur zéro comme paramètre. Il doit être compris entre les limites définies par 0 et (ColumnCount - 1). ArgumentException est levée si l'index de colonne 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 utiliser cela pour redimensionner un fichier Excel. Vous pouvez télécharger un fichier Excel d'exemple à partir de ici.

Fichier d'Entrée

Ici, vous pouvez voir que les largeurs des colonnes ne sont pas correctement définies et sont donc très difficiles à lire. Voyons maintenant comment nous pouvons utiliser la bibliothèque IronXL pour ajuster automatiquement les largeurs des colonnes dans une feuille Excel.

Comment ajuster automatiquement les cellules dans Excel avec 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);
}

// Save the autofitted workbook as a new file
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);
}

// Save the autofitted workbook as a new file
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

' Save the autofitted workbook as a new file
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 récupérons le nombre de colonnes pour les ajustements.
  3. Nous parcourons tous les index de colonnes pour ajuster automatiquement les largeurs des colonnes.
  4. Enfin, nous enregistrons les résultats dans un nouveau fichier nommé autoResize.xlsx.

Fichier de sortie

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

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 7 - Excel de sortie avec largeur de colonne ajustée automatiquement.

Étape 4 : Ajuster automatiquement la hauteur des lignes en utilisant la bibliothèque IronXL

La méthode AutoSizeRow ajuste la hauteur d'une ligne pour s'adapter à 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, elle essaiera de mesurer celle-ci en utilisant une police par défaut. Si aucune police par défaut n'est trouvée, elle essaiera d'utiliser toute police disponible. Cependant, si aucune police n'est trouvée, une exception sera levée. Elle utilise un index de ligne basé sur zéro comme paramètre. Il doit être compris entre les limites définies par 0 et (RowCount - 1). ArgumentException est levée si l'index de ligne fourni est en dehors de la plage valide. SixLabors.Fonts.FontException est levée lorsque 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 adapter correctement les données. Voyons maintenant le code C# pour ajuster automatiquement les hauteurs des lignes Excel.

Comment ajuster automatiquement les cellules dans Excel avec 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++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
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++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
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
	' Auto-fit row height for index i
	workSheet.AutoSizeRow(i)
Next i

' Save the autofitted workbook as a new file
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. Nous récupérons le nombre total de lignes.
  3. Nous parcourons tous les index de lignes pour ajuster automatiquement les hauteurs des lignes.
  4. Enfin, nous enregistrons les résultats dans un nouveau fichier nommé autoResizeRows.xlsx.

Fichier Excel de sortie

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 9 - Excel de sortie avec hauteur de ligne ajustée automatiquement.

Étape 5 : Définir manuellement la largeur des colonnes et la hauteur des lignes en utilisant IronXL

En plus d'ajuster automatiquement les lignes et les colonnes, IronXL offre également l'option d'ajuster manuellement la largeur et la hauteur à une valeur de hauteur de ligne spécifique et à une valeur de largeur de colonne spécifique.

Fichier Excel d'entrée

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 10 - Fichier Excel d'entrée

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Manually set row height and column width
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width

' Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx")
$vbLabelText   $csharpLabel

Explication du Code

  1. Chargez le fichier FinancialSample.xlsx en utilisant la fonction WorkBook.Load().
  2. Récupérez des lignes et des colonnes spécifiques pour ajuster manuellement leur hauteur et leur largeur.
  3. Définissez les valeurs de hauteur et de largeur souhaitées.
  4. Enregistrez le fichier modifié sous le nom specificValue.xlsx.

Fichier Excel de sortie

Comment ajuster automatiquement les cellules dans Excel avec C#: Figure 11 - Excel de sortie avec largeur et hauteur de colonne dimensionnées manuellement.

Licences

Obtenez un essai gratuit pour utiliser librement toutes les fonctionnalités de IronXL pendant 30 jours.

La licence obtenue doit être placée dans le fichier appSettings.json :

{
  "IronXL.License.LicenseKey": "myTrialKey"
}

Conclusion

Avec des fonctionnalités telles que AutoSizeColumn et AutoSizeRow de IronXL, les développeurs peuvent aisément s'assurer 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 l'utilisateur 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 Excel dans une large gamme d'applications sans dépendances sur Microsoft Office ou Excel Interop. De plus, le support d'IronXL pour plusieurs langages et plateformes .NET en fait un choix polyvalent pour les développeurs cherchant à rationaliser les tâches de manipulation Excel dans des environnements variés.

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 moderne en C#. 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#.

Questions Fréquemment Posées

Comment puis-je ajuster automatiquement la taille des cellules dans Excel en utilisant C# ?

Pour ajuster automatiquement la taille des cellules dans Excel en utilisant C#, utilisez les méthodes AutoSizeColumn et AutoSizeRow de IronXL, qui ajustent automatiquement les largeurs de colonne et les hauteurs de ligne en fonction du contenu.

Quels sont les avantages d'utiliser une bibliothèque .NET pour l'automatisation d'Excel ?

L'utilisation d'une bibliothèque .NET comme IronXL pour l'automatisation d'Excel simplifie des tâches telles que la lecture, l'écriture et le formatage des fichiers Excel sans nécessiter d'installations de Microsoft Office. Cela améliore la productivité et la précision dans les applications C#.

Comment puis-je ajuster manuellement la largeur des colonnes et la hauteur des lignes dans Excel en utilisant C# ?

Avec IronXL, vous pouvez ajuster manuellement la largeur des colonnes et la hauteur des lignes en utilisant les méthodes GetColumn et GetRow pour cibler des colonnes et des lignes spécifiques, puis définir leurs propriétés Width et Height.

IronXL est-il compatible avec les projets .NET Core ?

Oui, IronXL est entièrement compatible avec les projets .NET Core, permettant aux développeurs d'intégrer des fonctionnalités d'automatisation d'Excel de manière transparente dans les environnements .NET modernes.

Comment installer IronXL dans un projet .NET ?

Pour installer IronXL dans un projet .NET, utilisez le gestionnaire de packages NuGet de Visual Studio ou exécutez la commande dotnet add package IronXL.Excel en ligne de commande.

Puis-je utiliser IronXL sans avoir Excel installé sur ma machine ?

Oui, IronXL vous permet de travailler avec des fichiers Excel de manière programmatique en C# sans nécessiter l'installation de Microsoft Excel sur votre machine.

Que dois-je faire si je rencontre une exception de police lors de l'ajustement automatique des cellules ?

Si vous rencontrez une SixLabors.Fonts.FontException lors de l'ajustement automatique des cellules, assurez-vous que les polices nécessaires sont disponibles sur votre système, car IronXL les utilise pour calculer les dimensions du texte.

Comment IronXL prend-il en charge plusieurs langages .NET ?

IronXL prend en charge plusieurs langages .NET tels que C#, VB.NET et F#, offrant polyvalence et flexibilité aux développeurs travaillant dans différents environnements de programmation.

Où dois-je ajouter la clé de licence IronXL dans mon projet ?

La clé de licence IronXL doit être ajoutée au fichier appSettings.json de votre projet sous la clé 'IronXL.License.LicenseKey' pour activer les fonctionnalités premium.

Quelles sont certaines des fonctionnalités clés d'IronXL pour l'automatisation d'Excel ?

IronXL offre des fonctionnalités clés telles que l'intégration facile avec des applications C#, la lecture et l'écriture de fichiers Excel, l'application de formatages, le support des formules Excel, et l'ajustement automatique des cellules pour optimiser l'affichage du contenu.

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