似乎有几个人遇到这个问题,通常会解决,因为他们还没有加载数据。我已加载数据,但自动调整仍无法正常工作。
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 集合不是从零开始的)
无论如何,有人有任何指示吗?谢谢
您需要在整个范围内调用
AutoFitColumns
,而不仅仅是 A1:G1
。做一些类似的事情:
epWs.Cells.AutoFitColumns();
有关更多信息,请参阅此:
如果将一个单元格设置为自动换行,则 AutoFitColumns() 将不起作用。 请确保单元格排成一行,而不是换行。