Comment redimensionner automatiquement les lignes et les colonnes ?
Le redimensionnement des lignes et des colonnes d'une feuille de calcul permet de gagner beaucoup d'espace et de la rendre plus lisible. La bibliothèque IronXL C# permet de redimensionner automatiquement les lignes et les colonnes. Puisqu'elle est réalisée en C#, les méthodes de redimensionnement peuvent être appelées pour toutes les lignes et colonnes existantes, ce qui automatise la tâche manuelle dans la feuille de calcul.
Comment redimensionner automatiquement les lignes et les colonnes ?
- Téléchargez la bibliothèque C# permettant de redimensionner automatiquement les lignes et les colonnes dans Excel
- Importer le fichier Excel souhaité
- Utiliser le
AutoSizeRow
pour redimensionner automatiquement les lignes - Utiliser le
Dimensionnement automatique des colonnes
pour redimensionner les colonnes en fonction de la largeur de leur contenu - Réglez les valeurs de hauteur et de largeur en fonction de vos besoins
Commencez avec IronXL
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit.
Redimensionnement automatique des lignes Exemple
La méthode AutoSizeRow
redimensionne automatiquement la hauteur d'une ligne spécifiée(s) en fonction de son 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")
Démonstration
Exemple de redimensionnement automatique des colonnes
Utiliser la méthode AutoSizeColumn
pour redimensionner la largeur de la colonne(s) en fonction de la longueur de son 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")
Démonstration
Conseils
Exemple de redimensionnement automatique avancé des lignes
Une autre surcharge de la méthode AutoSizeRow
prend un second paramètre sous la forme d'une valeur Booléenne. Si la valeur est vrai, la hauteur des cellules fusionnées sera également prise en compte en prenant la hauteur de la valeur de la cellule supérieure gauche dans la région de fusion et en la divisant par le nombre de lignes dans la région fusionnée. Cette condition s'applique lorsque le contenu de la cellule fusionnée a la hauteur la plus élevée par rapport au reste des lignes de la région fusionnée.
: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")
Exemple
Par exemple, supposons que le contenu ait une hauteur de 192 pixels et se trouve dans une région fusionnée qui s'étend sur 3 lignes. Lors de l'application de l'autosize à 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 à chaque ligne individuellement.
Que se passe-t-il si la valeur est fixée à false ?
Lorsque la valeur est fixée à false, la méthode AutoSizeRow
ajuste la hauteur de la ligne en fonction du contenu de la cellule ayant la hauteur la plus élevée. Dans Microsoft Excel, lorsqu'une plage de cellules est fusionnée, elle ne conserve que la valeur de la cellule supérieure gauche et efface le reste. Cependant, avec IronXL, la valeur de la cellule supérieure gauche est supprimée Fusionner est effectuée sans effacer les valeurs des autres cellules de la région fusionnée.
: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)
À des fins de démonstration, j'ai ajusté manuellement la hauteur des lignes au lieu d'utiliser la fonction Excel fonction de hauteur de rangée autofit. Cela a été fait pour éviter d'ajouter un rembourrage visible en haut et en bas.
Si le paramètre useMergedCells est réglé sur false, la hauteur des cellules fusionnées n'est pas prise en considération. Par conséquent, il n'y a pas de changement de hauteur, et la hauteur de chaque ligne est calculée uniquement en fonction de son contenu.
Exemple de redimensionnement automatique des colonnes
Comme pour AutoSizeRow
, vous pouvez également faire en sorte que le redimensionnement des colonnes prenne en compte la largeur des cellules fusionnées. Si la valeur est vrai, 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 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")
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 de la fonction autosize à l'une de ces colonnes se traduira par une largeur de 59 pixels pour chaque colonne. La méthode AutoSizeColumn
doit être appliquée à chaque colonne individuellement.
Que se passe-t-il si la valeur est fixée à false ?
Lorsque la valeur est false, la méthode AutoSizeColumn
ajuste la largeur en fonction du contenu de la cellule ayant la plus grande largeur. Dans Microsoft Excel, lorsqu'une plage de cellules est fusionnée, seule la valeur supérieure gauche est conservée et le reste est effacé. Cependant, l'option IronXL Fusionner n'efface PAS la valeur des autres cellules de la région fusionnée.
: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)
La largeur des cellules fusionnées n'était pas prise en compte en priorité, ce qui n'entraînait aucune modification de la largeur, car la largeur de chaque colonne était calculée en fonction de la largeur de son contenu.
Les différences entre Excel et IronXL Auto Resize
Rangs
La fonction Excel autofit row height (ajustement automatique de la hauteur des lignes) applique un rembourrage visible en haut et en bas de la cellule.
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.
Exemple de redimensionnement manuel de la hauteur et de la largeur
Outre les méthodes AutoSizeRow
et AutoSizeColumn
qui calculent et ajustent 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 fixer à une certaine valeur qui correspond à vos besoins.
- Ajustez la hauteur : définissez la propriété Height de la RangeRow.
- Ajustez la largeur : définissez la propriété Width de la 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
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 sur la base 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, prenons 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 1/96 de pouce, quelle que soit la résolution réelle de l'écran. Excel lui-même 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.
- Width : RangeColumn.Width = 23.255 correspondra à 1 pixel.