2015-09-04 15 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:很抱歉,目前无法测试它 –