EPPlus 自动调整列不起作用

问题描述 投票:0回答:2

似乎有几个人遇到这个问题,通常会解决,因为他们还没有加载数据。我已加载数据,但自动调整仍无法正常工作。

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()

这会产生一个文件,其中的列都是默认宽度。任何单元格中都没有公式,也不会合并任何公式。

然后我启动并尝试使用 BestFit,但这也不起作用。

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

(奇怪的是 Columns 集合不是从零开始的)

无论如何,有人有任何指示吗?谢谢

epplus
2个回答
7
投票

您需要在整个范围内调用

AutoFitColumns
,而不仅仅是
A1:G1
。做一些类似的事情:

epWs.Cells.AutoFitColumns();

有关更多信息,请参阅此:

EPPLUS AutoFit 电池


0
投票

如果将一个单元格设置为自动换行,则 AutoFitColumns() 将不起作用。 请确保单元格排成一行,而不是换行。

© www.soinside.com 2019 - 2024. All rights reserved.