Auto column width in EPPlus

How to make columns to be auto width when texts in columns are long?

I use this code

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

None of these methods are working

Is there any ways to make it work?

Note: Some of my texts use Unicode.


Use AutoFitColumns , but you have to specify the cells, i assume the entire worksheet:

VB.NET

Worksheet.Cells(Worksheet.Dimension.Address).AutoFitColumns()

C#

Worksheet.Cells[Worksheet.Dimension.Address].AutoFitColumns();

Please note you need to call this method after filling the worksheet.


I have used this code with the version 3.1.3.0 of EPPlus and it is working:

worksheet.Column(1).AutoFit();

where worksheet is the variable referencing the worksheet I have created in my code (not a class with a static method!).

Obviously you have to call this method after you have filled the columns .


我知道这是一个老问题,但我使用下面的代码,它似乎直接解决您试图做的事情。

using (var xls = new ExcelPackage())
{
    var ws = xls.Workbook.Worksheets.Add("Some Name");

    //**Add Column Names to worksheet!**
    //**Add data to worksheet!**

    const double minWidth = 0.00;
    const double maxWidth = 50.00;

    ws.Cells.AutoFitColumns(minWidth, maxWidth);

    return pkg.GetAsByteArray();
}
链接地址: http://www.djcxy.com/p/72026.html

上一篇: 在MVC5 / EF应用程序中实现动态LINQ查询?

下一篇: EPPlus中的自动列宽