如何在列中的文本較長時將列設置爲自動寬度?EPPlus中的自動列寬
我使用此代碼
Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
Worksheet.cells.AutoFitColumns()
Worksheet.Column(colIndex).BestFit = True 'on all columns'
這些方法都正在
有沒有辦法讓它工作嗎?
注意:我的一些文本使用Unicode。
如何在列中的文本較長時將列設置爲自動寬度?EPPlus中的自動列寬
我使用此代碼
Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
Worksheet.cells.AutoFitColumns()
Worksheet.Column(colIndex).BestFit = True 'on all columns'
這些方法都正在
有沒有辦法讓它工作嗎?
注意:我的一些文本使用Unicode。
使用AutoFitColumns
,但你必須指定單元格了,我估計整個工作表:
VB.NET
Worksheet.Cells(Worksheet.Dimension.Address).AutoFitColumns()
C#
Worksheet.Cells[Worksheet.Dimension.Address].AutoFitColumns();
請注意,您需要調用填充工作表後填寫此方法。
您將需要計算寬度。庫中沒有自動調整功能,可以按照您的意圖工作。
自動填充列不適用於包裝文本和帶公式的單元格。
查看http://epplus.codeplex.com/discussions/218294?ProjectName=epplus瞭解如何解決問題的示例。
http://epplus.codeplex.com/discussions/218294?ProjectName=epplus 我找不到任何解決此問題的解決方案。 – Pengan 2013-03-28 06:22:29
我已經使用這個代碼EPPlus的3.1.3.0版本,它是工作:
worksheet.Column(1).AutoFit();
這裏工作是變量引用我在我的代碼創建的工作表(不是一類具有靜態方法!)。
很明顯,您必須在填充列後調用此方法。
需要強調最後一條語句:**在填充列後調用此方法** – 2014-12-31 21:51:46
不得不使用worksheet.Column(1).AutoFit(0);
AutoFit()沒有做到這一點。
我使用它並且運行良好。
Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells("B1:BN").AutoFitColumns()
您能否更詳細地解釋您的代碼? – Shawn 2013-12-05 20:39:48
我知道有點晚了,但今天我有同樣的問題。如果您定義了worksheet.DefaultColWidth
,它將不起作用。我已經刪除了該行,並添加了Worksheet.cells.AutoFitColumns();
,它現在可以工作。
'sheet.Cells.AutoFitColumns()'更簡單,感謝提示!在ClosedXml中,你執行'sheet.Columns()。AdjustToContents()' – nawfal 2016-06-26 07:03:45
我知道這是一個老問題,但我使用下面的代碼,它似乎直接解決您試圖做的事情。
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();
}
它不工作。 – Pengan 2013-03-28 10:33:21
這確實有效...... 甚至不需要ToString – Beejee 2013-10-23 11:57:01
重要的是您需要在填寫工作表後調用此方法,因爲如果工作表中沒有數據,Worksheet.Dimension屬性將返回null。 – Landeeyo 2015-01-23 10:22:07