引入包,不赘述。
实例化ExcelPackage
using (var package = new ExcelPackage())
创建sheet对象 sheet1,标题叫 订单明细
var sheet1 = package.Workbook.Worksheets.Add("订单明细");
第一行设置为标题
for (int c = 1; c <= cols.Length; c++) { sheet1.Cells[1, c].Value = cols[c - 1]; sheet1.Cells[1, c].Style.Fill.PatternType = ExcelFillStyle.Solid; sheet1.Cells[1, c].Style.Fill.BackgroundColor.SetColor(Color.LightGray); sheet1.Cells[1, c].Style.Font.Bold= true; sheet1.Cells[1, c].Style.Font.Size= 12; sheet1.Column(c).AutoFit(); } sheet1.Row(1).Height = 30; sheet1.Row(1).Style.VerticalAlignment = ExcelVerticalAlignment.Center; sheet1.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; sheet1.View.FreezePanes(2, 1);
cols是我定义的标题名称数组
string[] cols = { "商户名称", "订单号","订单类型","配送方式","下单时间","结算金额"};
循环cols 给sheet1的第一行按数组内容顺序插入值。
.Style 这几个属性都是设置单元格样式,背景浅灰,字体加粗,字号12等等。
sheet1.Column(c).AutoFit() :是设置单元格根据value自动调整宽度。
sheet1.Row(1).Height = 30:设置第一行的高度
sheet1.Row(1).Style.VerticalAlignment = ExcelVerticalAlignment.Center :设置内容纵向居中
sheet1.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center:设置内容水平居中
sheet1.View.FreezePanes(2, 1) :冻结第一行,也就是当右侧有滚动条可以上下滚动内容时,第一行也就是标题行会跟随滚动
填充数据就不展示了,设置方式跟标题是一样的,根据实际的数据集合(list,datatable,array)等循环给单元格赋值就行。
保存excel文件
string fileName = "xxxxx.xlsx"; string outputPath = $"D:\xxxx\xxxx\{fileName}"; FileInfo outputFile = new FileInfo(outputPath); package.SaveAs(outputFile);
完成。
标签:第一行,string,Epplus,Excel,cols,标题,导出,sheet1,设置 From: https://www.cnblogs.com/luyShare/p/17487174.html