Comment rendre les colonnes à 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?
Remarque: certains de mes textes utilisent Unicode.
Réponses:
Utilisez
AutoFitColumns
, mais vous devez spécifier les cellules, je suppose que la feuille de calcul entière:VB.NET
C #
Veuillez noter que vous devez appeler cette méthode après avoir rempli la feuille de calcul.
la source
Worksheet.Calculate()
abord appeler afin que la valeur de ces cellules puisse être déterminée.J'ai utilisé ce code avec la version 3.1.3.0 d'EPPlus et cela fonctionne:
où une feuille de calcul est la variable référençant la feuille de calcul que j'ai créée dans mon code (pas une classe avec une méthode statique!).
Évidemment, vous devez appeler cette méthode après avoir rempli les colonnes .
la source
Je sais que c'est une vieille question, mais j'utilise le code ci-dessous et il semble répondre directement à ce que vous avez essayé de faire.
la source
Je voulais juste souligner que vous pouvez ajuster des cellules sans spécifier la plage, assurez-vous simplement de l'appeler après avoir formaté toutes les colonnes, etc.
la source
Je sais que c'est un peu tard mais j'ai eu le même problème aujourd'hui. Si vous avez
worksheet.DefaultColWidth
défini, cela ne fonctionnera pas. J'ai supprimé cette ligne et ajoutéWorksheet.cells.AutoFitColumns();
et cela fonctionne maintenant.la source
sheet.Cells.AutoFitColumns()
c'est plus simple, merci pour la pointe! Dans ClosedXml, vous faitessheet.Columns().AdjustToContents()
Cela fonctionne très bien pour moi.
Essayer:
la source
J'ai dû utiliser
worksheet.Column(1).AutoFit(0);
AutoFit () ne faisait pas l'affaire.la source
Vous devrez calculer la largeur. Il n'y a pas de fonction de dimensionnement automatique dans la bibliothèque qui fonctionnera comme vous le souhaitez.
La colonne d'ajustement automatique ne fonctionnera pas avec le texte enveloppé et les cellules avec des formules.
Consultez http://epplus.codeplex.com/discussions/218294?ProjectName=epplus pour des exemples de la manière dont vous pouvez résoudre le problème.
la source
Le .NET Core en tant que successeur de .NET ne prend plus en charge la fonction d'ajustement automatique des cellules avec la bibliothèque EPPplus.
ou
provoque une exception:
L'assembly System.Drawing dépend de bibliothèques spécifiques GDI et Windows qui doivent être remplacées par une autre solution. La solution à ce problème m'est inconnue.
la source
Je l'utilise et fonctionne bien.
la source