如何基于一个输入的最大长度在单元格上设置自动调整大小。
using (rng = workSheet.Cells["A1:G1"])
{
rng.Style.Font.Bold = true;
rng.Style.Fill.PatternType = ExcelFillStyle.Solid;
rng.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);
rng.Style.Font.Color.SetColor(Color.White);
}
using (ExcelRange col = workSheet.Cells[2, 6, 7, 7])
{
col.Style.Numberformat.Format = "yyyy-mm-dd HH:mm";
col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
}
for (int i = 1; i <= a; i++)
{
workSheet.Cells["A1"].Value = "RU_ID";
workSheet.Cells["B1"].Value = "COR_REQ_ID";
workSheet.Cells["C1"].Value = "RU_NAME";
workSheet.Cells["D1"].Value = "PARENT_RU_NAME";
workSheet.Cells["E1"].Value = "ADJUSTMENT_STATE";
workSheet.Cells["F1"].Value = "COR_START";
workSheet.Cells["G1"].Value = "COR_END";
}
...
rng.AutoFitColumns();
string path = @"D:\excel\test.xlsx";
Stream stream = File.Create(path);
excel.SaveAs(stream);
stream.Close();
byte[] data = File.ReadAllBytes(path);
}
AutoFitColumn唯一要做的就是将单元格调整到标题的大小,就好像我将标题设置为“STH”,将输入项设置为“Something good”一样,“要增加单元格大小的东西”将比AutoFitColumn设置基于“STH”的大小,而不是“增加单元格大小的内容”。
先谢谢您的帮助。
最佳答案
看你的台词:
using (rng = workSheet.Cells["A1:G1"])
...
rng.AutoFitColumns();
请注意,您在 header
AutoFitColumns
的范围内调用A1:G1
,因此EPPlus仅使用那些单元格来确定列的宽度。只需这样做:
workSheet.Cells.AutoFitColumns();
由于Epplus中的
Cells
仅包含具有实际值的单元格,因此无需担心效率。关于c# - EPPLUS AutoFit电池,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36794133/