使用Epplus 导出Excel
引入包,不赘述。
实例化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);
顺便说一下,合并单元格,参数是 row1,cols1,row2,cols2,意思是将第 row1行的第cols1个单元格和第 row2行的第cols2个单元格合并。
sheet1.Cells[1, 1, 1, 3].Merge = true;
完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!