Comment ajuster automatiquement les lignes et colonnes dans Excel | IronXL

Comment redimensionner automatiquement les lignes et colonnes d'Excel en C

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

IronXL offre un redimensionnement automatisé des lignes et des colonnes en C# avec des méthodes telles que AutoSizeRow() et AutoSizeColumn() qui ajustent les dimensions en fonction du contenu des cellules, éliminant le formatage manuel des feuilles de calcul et soutenant les calculs de cellules fusionnées. Cette fonctionnalité automatise les flux de travail Excel en adaptant dynamiquement les dimensions des cellules à leur contenu, garantissant ainsi des feuilles de calcul professionnelles sans intervention manuelle.

Démarrage rapide : Redimensionner automatiquement une colonne ou une ligne avec un appel unique

Avec IronXL, vous pouvez redimensionner n'importe quelle ligne ou colonne en une seule ligne. Utilisez WorkSheet.AutoSizeColumn(int, bool) ou WorkSheet.AutoSizeRow(int, bool) pour ajuster les dimensions en fonction du contenu des cellules (fusion des cellules en option). Cette approche fonctionne sur toutes les plateformes .NET sans nécessiter d'installation d'Excel.

  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 avec un essai gratuit

    arrow pointer

Comment redimensionner automatiquement les lignes?

La méthode AutoSizeRow redimensionne automatiquement la hauteur des lignes spécifiées en fonction de leur contenu. Cette fonction garantit que tout le texte contenu dans les cellules est visible, ce qui évite la troncature et améliore la lisibilité. Lorsque vous travaillez avec des fichiers Excel sans Interop, IronXL calcule la hauteur de ligne optimale en fonction de la taille de la police, du contenu des cellules et des attributs de mise en forme.

: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

L'algorithme de redimensionnement automatique prend en compte les métriques de police, le remplissage des cellules et les paramètres d'habillage du texte pour déterminer la hauteur optimale. Pour les développeurs qui abandonnent l'automatisation traditionnelle d'Excel, il s'agit d'une alternative efficace qui ne nécessite pas l'installation d'Excel.

À quoi ressemble le résultat ?

Comparaison avant et après d'une grille de données montrant des lignes redimensionnées automatiquement qui s'étendent pour afficher les informations complètes sur les employés

Comment redimensionner automatiquement les colonnes ?

Utilisez la méthode AutoSizeColumn pour redimensionner la largeur des colonnes en fonction de la longueur du contenu. Cette méthode analyse le contenu le plus long de chaque colonne et ajuste la largeur en conséquence, afin que toutes les données soient visibles sans défilement horizontal. L'algorithme tient compte de la longueur du texte, du formatage des nombres, de l'affichage des dates et de tout autre formatage de cellule affectant la largeur requise.

: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

Lorsque l'on travaille avec des données ou des rapports financiers, il est essentiel que les colonnes soient correctement dimensionnées pour assurer la lisibilité. La fonctionnalité de redimensionnement automatique d'IronXL s'intègre à des fonctions telles que les bordures et l'alignement des cellules pour créer des feuilles de calcul professionnelles.

À quoi ressemble le résultat ?

Feuille de calcul Excel avant et après le redimensionnement automatique : colonnes étroites avec texte tronqué contre colonnes correctement dimensionnées affichant le contenu complet

ConseilsToutes les positions d'index pour les lignes et colonnes suivent un index basé sur zéro.


Comment gérer le redimensionnement avancé des lignes avec des cellules fusionnées ?

Une autre surcharge de la méthode AutoSizeRow prend un deuxième paramètre booléen. Ce paramètre permet de prendre en compte les cellules fusionnées lors du redimensionnement. Lorsque vous travaillez avec des cellules fusionnées dans Excel, le comportement de redimensionnement automatique devient plus complexe lorsque le contenu s'étend sur plusieurs cellules.

: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

Comment fonctionne le calcul de cellules fusionnées?

Si le contenu a une hauteur de 192 pixels et se trouve dans une région fusionnée couvrant 3 lignes, lors de l'application du redimensionnement automatique à l'une de ces lignes, l'algorithme divise 192 px par 3, ce qui donne 64 px pour chaque ligne. La méthode AutoSizeRow doit être appliquée à chaque ligne individuellement. Cette distribution garantit que le contenu fusionné s'affiche correctement sur toutes les lignes de la région de fusion.

Comparaison avant/après de la fonction de redimensionnement automatique des lignes d'Excel montrant l'optimisation de la hauteur de 99 à 33 pixels

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

Lorsqu'elle est réglée sur false, la méthode AutoSizeRow ajuste la hauteur de la ligne en fonction de la cellule avec le contenu le plus élevé. Dans Microsoft Excel, la fusion de cellules ne conserve que la valeur en haut à gauche et efface le reste. Cependant, l'opération Merge d'IronXL préserve les valeurs des autres cellules de la région fusionnée, offrant plus de flexibilité avec des feuilles de calcul complexes.

: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
Comparaison avant/après montrant la fonction de redimensionnement automatique des lignes d'Excel améliorant la visibilité du texte dans les cellules d'une feuille de calcul

À des fins de démonstration, j'ai ajusté manuellement la hauteur des lignes au lieu d'utiliser la fonction Excel autofit row height function (fonction d'ajustement automatique de la hauteur des lignes) afin d'éviter d'ajouter un rembourrage visible en haut et en bas.

Avec le paramètre useMergedCells réglé sur false, la hauteur des cellules fusionnées n'est pas prise en compte. La hauteur de chaque ligne est calculée uniquement en fonction de son contenu. Cette approche permet de conserver des hauteurs de ligne cohérentes, quelles que soient les régions fusionnées.

Comment gérer le redimensionnement avancé des colonnes avec des cellules fusionnées ?

Similaire à AutoSizeRow, vous pouvez faire en sorte que le redimensionnement des colonnes considère la largeur des cellules fusionnées. Lorsqu'il est réglé sur true, si une cellule fusionnée a le contenu le plus long, la largeur de la colonne redimensionnée équivaut à la largeur de la cellule fusionnée divisée par le nombre de colonnes dans la région fusionnée. Cette fonctionnalité est utile lors de la création de feuilles de calcul avec des mises en page complexes.

: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

Comment fonctionne le calcul de la largeur des cellules fusionnées?

Si le contenu a une largeur de 117 pixels dans une région fusionnée couvrant 2 colonnes, l'application du redimensionnement automatique à n'importe quelle colonne donne 59 pixels pour chaque colonne. La méthode AutoSizeColumn doit être appliquée à chaque colonne individuellement. Cette distribution proportionnelle garantit que le contenu fusionné s'affiche correctement sur toutes les colonnes de la région de fusion.

Comparaison avant/après montrant le redimensionnement automatique d'une colonne Excel réduisant la largeur de la colonne B de 117 à 59 pixels

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

Lorsqu'il est réglé sur false, la méthode AutoSizeColumn ajuste la largeur en fonction de la cellule avec le contenu le plus long. Dans Microsoft Excel, la fusion de cellules garde uniquement la valeur en haut à gauche et efface le reste. Cependant, la méthode Merge d'IronXL préserve les valeurs des autres cellules de la région fusionnée, donnant aux développeurs un plus grand contrôle sur leurs données.

: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
Avant et après le redimensionnement automatique des colonnes d'Excel, montrant l'ajustement optimisé de la largeur des colonnes pour les données textuelles

La largeur des cellules fusionnées n'a pas été privilégiée, ce qui n'a entraîné aucune modification de la largeur, car la largeur de chaque colonne a été calculée en fonction de la largeur de son contenu.

Quelles sont les différences entre Excel et IronXL Auto Resize?

La compréhension des différences entre la fonctionnalité d'ajustement automatique native d'Excel et la mise en œuvre d'IronXL.Excel aide les développeurs à prendre des décisions éclairées lors de l'automatisation des opérations sur les feuilles de calcul. Ces différences sont importantes lorsqu'il s'agit de maintenir la cohérence entre les plateformes ou lorsqu'un contrôle précis des dimensions des cellules est nécessaire.

Qu'est-ce qui différencie les rangées?

La fonction d'ajustement automatique de la hauteur des lignes d'Excel applique aux cellules une marge supérieure et inférieure perceptible. IronXL permet un contrôle précis de la hauteur des lignes, en calculant l'espace exact nécessaire pour le contenu sans rembourrage supplémentaire. Cette différence est importante lorsque l'on travaille avec des données très denses ou lorsque des mises en page d'impression précises sont nécessaires.

Comparaison du redimensionnement automatique d'Excel et d'IronXL.Excel montrant une gestion différente des lignes pour des données de test identiques

Comment les colonnes se différencient-elles?

La fonction d'ajustement automatique de la largeur des colonnes d'Excel applique un remplissage à gauche et à droite aux cellules, mais de manière moins visible. IronXL se concentre sur la largeur exacte du contenu, ce qui est bénéfique lorsque vous travaillez avec des systèmes de reporting automatisés où l'optimisation de l'espace est cruciale.

Comparaison du redimensionnement automatique des colonnes d'Excel et d'IronXL.Excel montrant des mesures de largeur différentes pour un contenu identique

Comment redimensionner manuellement la hauteur et la largeur ?

En plus d'utiliser les méthodes AutoSizeRow et AutoSizeColumn pour calculer et ajuster les dimensions automatiquement, vous pouvez ajuster manuellement la largeur et la hauteur des colonnes et des lignes pour répondre à des exigences spécifiques. Le dimensionnement manuel est utile lors de la mise en œuvre de formats de rapport standardisés ou de l'utilisation de modèles nécessitant des dimensions spécifiques.

  • Ajuster la hauteur : définissez 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");
Imports IronXL

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

Dim row As RangeRow = workSheet.GetRow(0)
row.Height = 10 ' Set height

Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 10 ' Set width

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

Quelles unités Excel utilise-t-il pour la hauteur et la largeur?

Les unités de mesure de la hauteur et de la largeur diffèrent dans Excel. La hauteur est mesurée en 1/20 de point, tandis que la largeur est basée sur le nombre de "0" qui rentre dans une cellule en utilisant la police spécifiée dans le style Normal. Lorsque l'on travaille avec l'API d'IronXL, il est essentiel de comprendre ces conversions pour réaliser des mises en page précises.

Pour simplifier la conversion des unités, interprétez les valeurs IronXL en pixels d'affichage dans Microsoft Excel. Un pixel est défini comme 1/96 de pouce, quelle que soit la résolution de l'écran. Excel est indépendant de la résolution et ne dépend pas des pixels physiques.

La relation entre les mesures de hauteur et de largeur d'IronXL et d'Excel :

  • Hauteur : RangeRow.Height = 10 donne environ 1 pixel
  • Largeur : RangeColumn.Width = 23.255 correspond à 1 pixel

Pour les développeurs qui ont besoin d'un contrôle précis de la mise en page des feuilles de calcul, ces facteurs de conversion permettent de calculer les dimensions avec précision. Combiné à d'autres fonctions de mise en forme, le dimensionnement manuel permet de contrôler totalement l'apparence des documents Excel. N'oubliez pas d'appliquer votre clé de licence lorsque vous déployez des applications utilisant ces fonctionnalités en production.

Questions Fréquemment Posées

Comment redimensionner automatiquement les lignes d'Excel en fonction du contenu des cellules en C# ?

IronXL propose la méthode AutoSizeRow pour ajuster automatiquement la hauteur des lignes en fonction du contenu des cellules. Il suffit d'appeler workSheet.AutoSizeRow(rowIndex, includeMergedCells) où rowIndex est le numéro de ligne basé sur le zéro. La méthode calcule la hauteur optimale en fonction de la taille de la police, du contenu des cellules et des attributs de mise en forme, ce qui permet de s'assurer que tout le texte est visible sans être tronqué.

Est-il possible de redimensionner automatiquement les colonnes des feuilles de calcul Excel par programmation ?

Oui, IronXL propose la méthode AutoSizeColumn pour ajuster automatiquement la largeur des colonnes. Utilisez workSheet.AutoSizeColumn(columnIndex, includeMergedCells) pour redimensionner les colonnes en fonction de leur contenu le plus long. L'algorithme tient compte de la longueur du texte, du formatage des nombres, de l'affichage des dates et d'autres formatages de cellules pour déterminer la largeur optimale.

Le redimensionnement automatique fonctionne-t-il avec les cellules fusionnées ?

IronXL prend en charge le redimensionnement automatique des cellules fusionnées grâce au paramètre booléen des méthodes AutoSizeRow et AutoSizeColumn. Définissez le second paramètre à true (par exemple, workSheet.AutoSizeColumn(0, true)) pour inclure les calculs des cellules fusionnées lors de la détermination des dimensions appropriées.

Quels sont les facteurs pris en compte lors du redimensionnement automatique des lignes et des colonnes ?

L'algorithme de redimensionnement automatique d'IronXL prend en compte de multiples facteurs, notamment les métriques de police, le remplissage des cellules, les paramètres d'habillage du texte, le formatage des nombres, l'affichage des dates et les bordures des cellules. Cette approche globale garantit des feuilles de calcul d'aspect professionnel avec des cellules de taille appropriée qui s'adaptent à tout le contenu sans intervention manuelle.

Dois-je installer Microsoft Excel pour utiliser les fonctions de redimensionnement automatique ?

Non, IronXL fonctionne de manière autonome sans nécessiter l'installation d'Excel. La bibliothèque effectue tous les calculs en interne, ce qui la rend idéale pour les environnements de serveur et les scénarios de déploiement où Excel ne peut pas être installé. Cette approche fonctionne sur toutes les plateformes .NET.

Puis-je redimensionner automatiquement plusieurs lignes ou colonnes à la fois ?

Alors que les méthodes AutoSizeRow et AutoSizeColumn d'IronXL fonctionnent sur des lignes/colonnes individuelles, vous pouvez facilement passer en boucle sur plusieurs éléments pour les redimensionner. Cela permet le traitement par lots de feuilles de calcul entières ou de plages spécifiques, automatisant ainsi efficacement les flux de travail d'Excel.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 2,134,203 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronXL.Excel
exécuter un échantillon regarder vos données devenir une feuille de calcul.