Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EPPlus AutoFitColumns not working

Tags:

epplus

Seems to be a few folks with this problem, and usually it's solved because they haven't loaded data yet. I've loaded my data, but the Autofit is still not working.

Dim fi As New FileInfo(fileDialog.FileName)
Dim pck As New ExcelPackage(fi)

Dim epWs As ExcelWorksheet = pck.Workbook.Worksheets.Add("My Sheet")
epWs.Cells("A1").LoadFromDataTable(data, True)

With epWs.Cells("A1:G1")
    .AutoFilter = True
    .AutoFitColumns()
    .Style.Fill.PatternType = ExcelFillStyle.Solid
    .Style.Fill.BackgroundColor.SetColor(Color.DodgerBlue)
    .Style.Font.Color.SetColor(Color.White)
End With

pck.Save()

This results in a file where the columns are all their default widths. There are no formulas in any of the cells, and none are merged.

I then kicked it up and tried using BestFit, but this is also not working.

        For i = 1 To 7
            epWs.Column(i).BestFit = True
        Next

(weird how the Columns collection is not zero-based)

Anyway, does anyone have any pointers? Thanks

like image 276
Brian Link Avatar asked Jun 15 '16 21:06

Brian Link


1 Answers

You need to call AutoFitColumns on the entire range, not just A1:G1. Do something like:

epWs.Cells.AutoFitColumns();

See this for more info:

EPPLUS AutoFit cells

like image 97
Ernie S Avatar answered Nov 06 '22 17:11

Ernie S