150 votes

Largeur automatique des colonnes dans EPPlus

Comment faire en sorte que les colonnes soient de largeur automatique lorsque les textes dans les colonnes sont longs ?

J'utilise ce code

 Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
 Worksheet.cells.AutoFitColumns()
 Worksheet.Column(colIndex).BestFit = True  'on all columns'

Aucune de ces méthodes ne fonctionne

Existe-t-il des moyens de le faire fonctionner ?

Note : Certains de mes textes utilisent Unicode.

6voto

leiit Points 87

Ça marche très bien pour moi.

Essayez :

ExcelWorksheet wsSheet1 = ExcelPkg.Workbook.Worksheets.Add("Sheet1");
wsSheet1.Cells[wsSheet1.Dimension.Address].AutoFitColumns();
ExcelPkg.SaveAs();

3voto

ffffff01 Points 2219

Vous devrez calculer la largeur. Il n'existe pas de fonction de dimensionnement automatique dans la bibliothèque qui fonctionnera comme vous le souhaitez.

La colonne automatique ne fonctionne pas avec le texte enveloppé et les cellules contenant des formules.

Regardez http://epplus.codeplex.com/discussions/218294?ProjectName=epplus pour des exemples de la façon dont vous pouvez résoudre le problème.

3voto

sldev Points 858

J'ai dû utiliser worksheet.Column(1).AutoFit(0); AutoFit() ne faisait pas l'affaire.

3voto

Ondrej Rozinek Points 47

Le .NET Core, qui succède au .NET, ne supporte plus la fonction d'ajustement automatique des cellules avec la bibliothèque EPPplus.

worksheet.Cells.AutoFitColumns();

o

worksheet.Column(1).AutoFit();

provoque une exception :

"System.Drawing is not supported on this platform."

L'assemblage System.Drawing dépend de GDI et de bibliothèques spécifiques à Windows qui doivent être remplacées par une autre solution. La solution à ce problème est pour moi inconnue.

1voto

Jhonny Nina Points 559

Je l'utilise et il fonctionne bien.

Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells("B1:BN").AutoFitColumns()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X