Como fazer com que as colunas tenham largura automática quando os textos nas colunas são longos?
Eu uso esse código
Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
Worksheet.cells.AutoFitColumns()
Worksheet.Column(colIndex).BestFit = True 'on all columns'
Nenhum desses métodos está funcionando
Existem maneiras de fazê-lo funcionar?
Nota: Alguns dos meus textos usam Unicode.
Respostas:
Use
AutoFitColumns
, mas você deve especificar as células, eu assumo a planilha inteira:VB.NET
C #
Observe que você precisa chamar esse método depois de preencher a planilha.
fonte
Worksheet.Calculate()
primeiro para que o valor dessas células possa ser determinado.Eu usei esse código com a versão 3.1.3.0 do EPPlus e está funcionando:
onde uma planilha é a variável que faz referência à planilha que eu criei no meu código (não uma classe com um método estático!).
Obviamente, você deve chamar esse método depois de preencher as colunas .
fonte
Sei que essa é uma pergunta antiga, mas uso o código abaixo e parece abordar diretamente o que você tentou fazer.
fonte
Só queria salientar que você pode ajustar as células sem especificar o intervalo, basta chamar isso depois de formatar todas as colunas, etc:
fonte
Eu sei que é um pouco tarde, mas eu tive o mesmo problema hoje. Se você tiver
worksheet.DefaultColWidth
definido, não funcionará. Eu removi essa linha e a adicioneiWorksheet.cells.AutoFitColumns();
e ela funciona agora.fonte
sheet.Cells.AutoFitColumns()
é mais simples, obrigado pela dica! No ClosedXml, você fazsheet.Columns().AdjustToContents()
Está funcionando muito bem para mim.
Experimentar:
fonte
Teve que usar o
worksheet.Column(1).AutoFit(0);
AutoFit () não estava funcionando.fonte
Você precisará calcular a largura. Não há nenhuma função de dimensionamento automático na biblioteca que funcione como você deseja.
A coluna de ajuste automático não funcionará com texto agrupado e células com fórmulas.
Consulte http://epplus.codeplex.com/discussions/218294?ProjectName=epplus para obter exemplos de como você pode resolver o problema.
fonte
O .NET Core como sucessor do .NET não suporta mais a função de ajuste automático de células com a biblioteca EPPplus.
ou
causa exceção:
O assembly System.Drawing depende de bibliotecas específicas do GDI e do Windows que precisam ser substituídas por outra solução. A solução para esse problema é desconhecida para mim.
fonte
Eu uso isso e está funcionando bem.
fonte