Comment ajuster automatiquement les lignes et colonnes dans Excel | IronXL

Comment redimensionner automatiquement les lignes et les colonnes Excel en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Redimensionner les lignes et les colonnes d'une feuille de calcul permet de gagner beaucoup d'espace et d'améliorer sa lisibilité. La bibliothèque IronXL C# offre la fonctionnalité de redimensionnement automatique des lignes et des colonnes. Comme cela est réalisé en C#, les méthodes de redimensionnement peuvent être appelées pour toutes les lignes et colonnes existantes, automatisant ainsi la tâche manuelle dans la feuille de calcul.

Démarrage rapide : redimensionnement automatique d'une colonne ou d'une ligne en un seul appel

Avec IronXL, vous pouvez redimensionner n'importe quelle ligne ou colonne en une seule ligne, sans interopérabilité ni complications. Utilisez WorkSheet.AutoSizeColumn(int, bool) ou WorkSheet.AutoSizeRow(int, bool) pour ajuster instantanément les dimensions en fonction du contenu de la cellule (les cellules fusionnées sont facultatives).

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    // One-line: auto-resize column A including merged cells
    workSheet.AutoSizeColumn(0, true);
    // Or auto-resize row 5 quickly
    workSheet.AutoSizeRow(4, true);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Exemple de redimensionnement automatique des lignes

La méthode AutoSizeRow redimensionne automatiquement la hauteur d'une ou plusieurs lignes spécifiées en fonction de leur contenu.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply auto resize on row 2
workSheet.AutoSizeRow(1);

workBook.SaveAs("autoResize.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Apply auto resize on row 2
workSheet.AutoSizeRow(1)

workBook.SaveAs("autoResize.xlsx")
$vbLabelText   $csharpLabel

Démonstration

Ligne à redimensionnement automatique

Exemple de redimensionnement automatique des colonnes

Utilisez la méthode AutoSizeColumn pour redimensionner la largeur des colonnes en fonction de la longueur de leur contenu.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-columns.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply auto resize on column A
workSheet.AutoSizeColumn(0);

workBook.SaveAs("autoResizeColumn.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Apply auto resize on column A
workSheet.AutoSizeColumn(0)

workBook.SaveAs("autoResizeColumn.xlsx")
$vbLabelText   $csharpLabel

Démonstration

Colonne à redimensionnement automatique

ConseilsToutes les positions d'index de ligne et de colonne suivent un indexage à partir de zéro.


Exemple de redimensionnement automatique avancé des lignes

Une autre surcharge de la méthode AutoSizeRow prend un deuxième paramètre de type booléen . Ce paramètre permet de prendre en compte les cellules fusionnées lors du redimensionnement.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);

workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)

workBook.SaveAs("advanceAutoResizeRow.xlsx")
$vbLabelText   $csharpLabel

Exemple

Par exemple, supposons que le contenu ait une hauteur de 192 pixels et soit situé dans une région fusionnée qui s'étend sur 3 lignes . Lors de l'application du redimensionnement automatique à l'une de ces lignes, l'algorithme divise la hauteur du contenu de 192 px par 3 , ce qui donne une hauteur de 64 px pour chaque ligne. N'oubliez pas que la méthode AutoSizeRow doit être appliquée individuellement à chaque ligne.

Ligne de redimensionnement automatique avancé

Que se passe-t-il si la valeur est définie sur faux ?

Lorsque la valeur est définie sur false, la méthode AutoSizeRow ajustera la hauteur de la ligne en fonction du contenu de la cellule la plus haute. In Microsoft Excel, when a range of cells is merged, it retains only the value of the upper-left cell and clears the rest. However, with IronXL, the Merge operation is performed without erasing the values of other cells in the merged region.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
using IronXL;

workSheet.Merge("A1:A3");

workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Imports IronXL

workSheet.Merge("A1:A3")

workSheet.AutoSizeRow(0, False)
workSheet.AutoSizeRow(1, False)
workSheet.AutoSizeRow(2, False)
$vbLabelText   $csharpLabel
Ligne de redimensionnement automatique avancé

For demonstration purposes, I manually adjusted the row height instead of using the Excel autofit row height function. Cela a été fait pour éviter d'ajouter un rembourrage visible en haut et en bas.

Lorsque le paramètre useMergedCells est défini sur false, la hauteur des cellules fusionnées n'est pas prise en compte. Par conséquent, la hauteur reste inchangée et la hauteur de chaque ligne est calculée uniquement en fonction de son contenu.

Lorsque la valeur est définie sur false, la méthode AutoSizeColumn ajuste la largeur en fonction du contenu de la cellule avec la plus grande largeur.

À l'instar de AutoSizeRow , vous pouvez également faire en sorte que le redimensionnement des colonnes prenne en compte la largeur des cellules fusionnées. Si cette option est activée ( true , la largeur des cellules fusionnées sera prise en compte. Si la cellule fusionnée a le contenu le plus long, la largeur de la colonne redimensionnée sera égale à la largeur de la cellule fusionnée divisée par le nombre de colonnes dans la région fusionnée.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, true);
workSheet.AutoSizeColumn(1, true);
workSheet.AutoSizeColumn(2, true);

workBook.SaveAs("advanceAutoResizeColumn.xlsx");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, True)
workSheet.AutoSizeColumn(1, True)
workSheet.AutoSizeColumn(2, True)

workBook.SaveAs("advanceAutoResizeColumn.xlsx")
$vbLabelText   $csharpLabel

Exemple

Par exemple, si le contenu a une largeur de 117 pixels et se trouve dans une région fusionnée qui s'étend sur 2 colonnes , l'application d'un redimensionnement automatique à l'une de ces colonnes entraînera une largeur de 59 pixels pour chaque colonne. La méthode AutoSizeColumn doit être appliquée individuellement à chaque colonne.

Colonne de redimensionnement automatique avancé

Que se passe-t-il si la valeur est définie sur faux ?

Lorsque la valeur est définie sur false , la méthode AutoSizeColumn ajuste la largeur en fonction du contenu de la cellule ayant la plus grande largeur. In Microsoft Excel, when a range of cells is merged, it keeps only the upper-left value and erases the rest. However, the IronXL Merge method does NOT erase the value of other cells in the merged region.

:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
workSheet.Merge("A1:B1");

workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet.Merge("A1:B1")

workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
$vbLabelText   $csharpLabel
Colonne de redimensionnement automatique avancé

La largeur des cellules fusionnées n'était pas priorisée, ce qui expliquait l'absence de modification de largeur, car la largeur de chaque colonne était calculée en fonction de la largeur de son contenu.

Différences entre le redimensionnement automatique d'Excel et d'IronXL

Rangées

La fonction d'ajustement automatique de la hauteur des lignes d'Excel applique un remplissage visible en haut et en bas de la cellule.

Comparaison du redimensionnement automatique des lignes entre Excel et IronXL

Colonnes

La fonction d'ajustement automatique de la largeur des colonnes d'Excel applique également un remplissage à gauche et à droite de la cellule, mais il est moins visible.

Comparaison du redimensionnement automatique des colonnes dans Excel et IronXL

Exemple de redimensionnement manuel de la hauteur et de la largeur

En plus de pouvoir utiliser les méthodes AutoSizeRow et AutoSizeColumn pour calculer et ajuster la largeur et la hauteur du contenu, vous avez également la possibilité d'ajuster manuellement la largeur et la hauteur des colonnes et des lignes pour répondre à vos besoins spécifiques. Cela vous permet de les paramétrer à une valeur spécifique qui correspond à vos besoins.

  • Ajuster la hauteur : définir la propriété Height de RangeRow .
  • Ajuster la largeur : définissez la propriété Width de RangeColumn .
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

RangeRow row = workSheet.GetRow(0);
row.Height = 10; // Set height

RangeColumn col = workSheet.GetColumn(0);
col.Width = 10; // Set width

workBook.SaveAs("manualHeightAndWidth.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Unités de hauteur et de largeur dans Excel

Les unités de mesure de la hauteur et de la largeur dans Excel sont différentes. Plus précisément, la hauteur est mesurée en 1/20 de point, tandis que la largeur est déterminée en fonction du nombre de " 0 " pouvant tenir dans une cellule en utilisant la police spécifiée dans le style " Normal ".

Pour simplifier la conversion des unités, interprétons la valeur en IronXL, qui correspond aux pixels d'affichage dans Microsoft Excel. Il est important de noter qu'un pixel ne représente pas un point physique sur l'écran ; Elle est plutôt définie comme étant de 1/96 de pouce, quelle que soit la résolution réelle de l'écran. Excel est conçu pour être indépendant de la résolution et ne dépend pas des pixels physiques.

Pour établir une relation entre les mesures de hauteur et de largeur d'IronXL et d'Excel, vous pouvez considérer les approximations suivantes :

  • Hauteur : RangeRow.Height = 10 donnera une hauteur approximative de 1 pixel .
  • Largeur : RangeColumn.Width = 23.255 correspondra à 1 pixel .

Questions Fréquemment Posées

Comment puis-je ajuster automatiquement les lignes dans Excel en utilisant C# ?

Vous pouvez utiliser la méthode AutoSizeRow dans IronXL pour ajuster automatiquement la hauteur des lignes en fonction de leur contenu dans une feuille Excel.

Quelle est la méthode pour ajuster automatiquement les colonnes dans une feuille Excel ?

IronXL offre la méthode AutoSizeColumn, qui permet l'ajustement automatique des largeurs de colonne en fonction du contenu.

Comment puis-je m'assurer que les cellules fusionnées sont correctement redimensionnées dans Excel ?

IronXL prend en charge le redimensionnement des cellules fusionnées en utilisant un paramètre booléen dans les méthodes AutoSizeRow et AutoSizeColumn pour prendre en compte les cellules fusionnées lors du redimensionnement.

Quels avantages IronXL offre-t-il par rapport aux fonctions d'ajustement automatique natives d'Excel ?

IronXL offre un contrôle précis des dimensions des cellules sans le remplissage supplémentaire que les fonctions d'ajustement automatique natives d'Excel appliquent, permettant ainsi un dimensionnement plus précis des cellules.

Est-il possible de manipuler des fichiers Excel en C# sans Microsoft Office Interop ?

Oui, IronXL vous permet de manipuler des fichiers Excel directement en C# sans dépendre de Microsoft Office Interop, ce qui le rend plus efficace et plus facile à utiliser.

Comment puis-je définir manuellement les tailles de lignes et de colonnes dans un fichier Excel en utilisant C# ?

Vous pouvez définir manuellement la hauteur et la largeur des lignes et des colonnes en ajustant les propriétés Height et Width de RangeRow et RangeColumn dans IronXL.

Quelles unités sont utilisées par IronXL pour définir les hauteurs de ligne et les largeurs de colonne ?

IronXL utilise les unités de mesure par défaut d'Excel, où la hauteur est en 1/20 d'un point et la largeur est déterminée par le nombre de '0' qui s'adapte en utilisant la police dans le style 'Normal'.

IronXL peut-il automatiser le processus de redimensionnement des feuilles Excel ?

Oui, IronXL peut automatiser le redimensionnement des lignes et des colonnes, ce qui améliore la productivité en réduisant le besoin de réglages manuels.

Existe-t-il des ressources disponibles pour apprendre à redimensionner les lignes et les colonnes Excel en utilisant C# ?

Oui, IronXL propose un tutoriel vidéo sur le redimensionnement des lignes et des colonnes, disponible sur YouTube, pour aider les développeurs à apprendre à utiliser ces fonctionnalités.

Pourquoi le redimensionnement automatique est-il important pour les feuilles de calcul Excel ?

Le redimensionnement automatique est crucial pour améliorer la lisibilité et l'esthétique des feuilles de calcul Excel, en s'assurant que tout le contenu est visible et bien présenté sans intervention manuelle.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 1,738,553 | Version: 2025.11 vient de sortir