Jak sprawić, by kolumny miały automatyczną szerokość, gdy teksty w kolumnach są długie?
Używam tego kodu
Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
Worksheet.cells.AutoFitColumns()
Worksheet.Column(colIndex).BestFit = True 'on all columns'
Żadna z tych metod nie działa
Czy są jakieś sposoby, aby to zadziałało?
Uwaga: niektóre moje teksty używają Unicode.
Odpowiedzi:
Użyj
AutoFitColumns
, ale musisz określić komórki, zakładam cały arkusz:VB.NET
DO#
Należy pamiętać, że po wypełnieniu arkusza należy wywołać tę metodę.
źródło
Worksheet.Calculate()
aby można było określić wartość dla tych komórek.Użyłem tego kodu z wersją 3.1.3.0 EPPlus i działa:
gdzie arkusz roboczy jest zmienną odwołującą się do arkusza, który utworzyłem w moim kodzie (nie jest to klasa z metodą statyczną!).
Oczywiście musisz wywołać tę metodę po wypełnieniu kolumn .
źródło
Wiem, że to stare pytanie, ale używam poniższego kodu i wydaje się, że bezpośrednio odnosi się do tego, co próbowałeś zrobić.
źródło
Chciałem tylko podkreślić, że możesz dopasować komórki bez określania zakresu, po prostu pamiętaj, aby wywołać to po sformatowaniu wszystkich kolumn itp .:
źródło
Wiem, że jest trochę za późno, ale mam dzisiaj ten sam problem. Jeśli masz
worksheet.DefaultColWidth
zdefiniowane, to nie zadziała. Usunąłem tę linię i dodałemWorksheet.cells.AutoFitColumns();
i teraz działa.źródło
sheet.Cells.AutoFitColumns()
jest prostsze, dzięki za wskazówkę! W ClosedXml robiszsheet.Columns().AdjustToContents()
U mnie działa dobrze.
Próbować:
źródło
Musiał użyć
worksheet.Column(1).AutoFit(0);
AutoFit () nie załatwił sprawy.źródło
Będziesz musiał obliczyć szerokość. W bibliotece nie ma funkcji automatycznego określania rozmiaru, która będzie działać zgodnie z zamierzeniami.
Autofitcolumn nie będzie działać z zawiniętym tekstem i komórkami zawierającymi formuły.
Spójrz na http://epplus.codeplex.com/discussions/218294?ProjectName=epplus, aby zapoznać się z przykładami rozwiązania problemu.
źródło
.NET Core jako następca platformy .NET nie obsługuje już funkcji autodopasowywania komórek za pomocą biblioteki EPPplus.
lub
powoduje wyjątek:
Zespół System.Drawing jest zależny od bibliotek specyficznych dla GDI i Windows, które muszą zostać zastąpione innym rozwiązaniem. Rozwiązanie tego problemu nie jest mi znane.
źródło
Używam tego i działa dobrze.
źródło