2015-09-04 16 views
2

像自動列高有自動行高的功能嗎? 通過雙擊行分隔線就像列一樣,該功能在Excel中可用,但我無法在代碼中找到該功能。c#EPP自動行高

目前我不得不計算高度,但必須有一個更簡單的方法?

回答

2

使用ExcelRow.CustomHeight = false

sheet.Row(1).CustomHeight = false; 

這將自動大小的行高,即使你以前改變了它。測試:

DataTable dataSource = new DataTable(); 
dataSource.Columns.Add("Id"); 
dataSource.Columns.Add("Title"); 
dataSource.Rows.Add("1", "Title1"); 
using (var excel = new OfficeOpenXml.ExcelPackage()) 
{ 
    var sheet = excel.Workbook.Worksheets.Add("Test"); 
    sheet.Cells["A1"].LoadFromDataTable(dataSource, true); 
    sheet.Row(1).Height = 5; 
    sheet.Row(2).Height = 5; 
    sheet.Row(1).CustomHeight = false; // This will auto-size the header 
    excel.SaveAs(new FileInfo("Path")); 
} 
+2

無論你的例子或方法一般似乎工作(不再?)。 EPPlus 4.1,LibreOffice Calc,Excel Online。 – Yegor

+0

@Yegor:很抱歉,目前無法測試它 –