EPPlus安装

安装这个包
image.png

调试

在使用ExcelPackage前写这个,就可以使用调试了

  1. ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

初始化ExcelPackage

  1. using(ExcelPackage package = new ExcelPackage(new FileInfo(@"D:\Sample.xlsx")))
  2. {
  3. //最后需要释放,所以写在using里面
  4. }

ExcelPackage构造函数

image.png

空参:创建一个Excel表,最后保存的时候指定保存在哪里 (newFile):创建的这个Excel就保存为这个newFile文件 (newFile,template):打开一个模板.xlsx文件,第二个参数。套上这个模板创一个Excel,最后保存newFile文件 其他的大同小异,根据名字猜意思,password不难猜测,就是给这个Excel加个密码

工作簿ExcelWorksheet

  1. // Worksheets["Sheet1"]全部工作簿,根据名字索引工作簿,
  2. //可以Worksheets.Add()添加工作簿
  3. ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];

单元格Cells

  1. worksheet.Cells[3, 4].Value = "3行4列";
  2. worksheet.Cells["A1"].Value = "A1单元格";
  3. worksheet.SetValue(5,8,"5行8列的值");//这种赋值方法比上面的性能好一些

合并单元格Merge

  1. //1行1列这个单元格到6行8列这个单元格之间合并
  2. worksheet.Cells[1, 1, 6, 8].Merge = true;

公式Formula

复杂公式直接去抄Excel里面的

  1. //这是乘法的公式,意思是第三列乘以第四列的值赋值给第五列
  2. worksheet.Cells["E2:E4"].Formula = "C2*D2";

地址ExcelAddress

  1. string address = new ExcelAddress(2, 3, 4, 3).Address;
  2. //获取3行3列 到 4行3列 这个区间的地址

区域范围ExcelRange

单元格Cells就是ExcelRange类型的,三种方式指定区域

  1. //1.
  2. worksheet.Cells[1, 1, 1, 5]
  3. //2.
  4. worksheet.Cells["A2:F8"]
  5. //3.
  6. worksheet.Cells[1, 1]

样式Style

获取一个区域,并且对该区域进行样式设计

  1. worksheet.DefaultColWidth = 10; //默认列宽
  2. worksheet.DefaultRowHeight = 30; //默认行高
  3. worksheet.TabColor = Color.Blue; //Sheet Tab的颜色
  4. worksheet.Column(1).Width = 10;//第一列的宽
  5. worksheet.Row(1).Height = 30;//第一行的高
  6. worksheet.Column(1).Hidden = true;//隐藏某一列
  7. worksheet.Row(1).Hidden = true;//隐藏某一行
  8. worksheet.Cells.AutoFitColumns();//所有单元格自适应宽度,可以有参数,最小宽度和最大宽度
  9. worksheet.Cells.Style.Border.Top.Style = ExcelBorderStyle.Thin;//设置单元格上边框,同理,右、下、左也一样的设置即可
  10. worksheet.Cells.Style.Border.BorderAround(ExcelBorderStyle.Thin, Color.FromArgb(191, 191, 191));//直接设置四周边框的样式和颜色
  11. worksheet.Cells.Style.Font.Bold = true;//设置单元格字体加粗
  12. worksheet.Cells.Style.Font.Name = "宋体";//设置字体
  13. worksheet.Cells.Style.Font.Size = 7;//设置字号
  14. worksheet.Cells.Style.WrapText = true; //单元格文字自动换行
  15. worksheet.Cell.Hyperlink = new ExcelHyperLink("http:\\www.baidu.com", UriKind.Relative);//设置超链接
  16. worksheet.Cells[row, 1].Style.Fill.PatternType= ExcelFillStyle.Solid;//设置背景颜色之前先设置这个PatternType
  17. worksheet.Cells.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);//背景颜色
  18. worksheet.Cells.Style.Font.Color.SetColor(Color.White);//字体颜色
  19. worksheet.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//水平对齐,居中
  20. worksheet.Cells.Style.VerticalAlignment = ExcelVerticalAlignment.Bottom;//垂直对齐,底部
  21. worksheet.Cells.Style.Numberformat.Format= "0.00";//格式化单元格值

保存Save

如果创建Excel时指定了保存文件,用第一个保存,没有指定就用第二个SaveAs传一个Fileinfo文件进行保存

  1. package.Save();
  2. package.SaveAs(newfile);

参考

导出Excel之Epplus使用教程1(基本介绍)
导出Excel之Epplus使用教程2(样式设置)
导出Excel之Epplus使用教程3(图表设置)
导出Excel之Epplus使用教程4(其他设置)