首先引入EPPlus.dll到你的项目bin文件中。
Epplus引用的命名空间为 OfficeOpenXml
下面是对epplus一些用法的总结
一、创建一个空excel表格
//导出EXCEL设置空表 OfficeOpenXml.ExcelPackage expackage = new OfficeOpenXml.ExcelPackage(); OfficeOpenXml.ExcelWorkbook workbook = expackage.Workbook; //创建一个空表 OfficeOpenXml.ExcelWorksheet worksheet = workbook.Worksheets.Add("Sheet1");//为空表创建一个页sheet //后面的所有操作都为建立在这个 worksheet (excel页) 上
二、设置excel 标题
worksheet.Row(1).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;//设置标题行内容水平居中 worksheet.Row(1).Style.Font.Bold = true;//设置标题行文字加粗 //可以看出这里设置的标题Row(1)的索引是从1开始,和excel的行索引是一样
三、Cells属性
//cells的三个重载 worksheet.Cells[string address] worksheet.Cells[int row,int col] worksheet.Cells[int fromRow,int fromcol,int toRow,int tocol]
1、worksheet.Cells[string address]
//string address 的用法,主要是用于设置标题,把空位置占出来,一边下面填入标题内容 string address = "A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,AA1,AB1,AC1,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2,T2,U2,V2,W2,X2,Y2,Z2,AA2,AB2,AC2";//设置标题行的个数,与excel的首行字符是一样的 worksheet.Cells[address].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;//设置全部内容垂直居中 worksheet.Cells[address].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;//设置标题行填充颜色类型 worksheet.Cells[address].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(197, 217, 241));//设置标题行填充颜色
2、worksheet.Cells[int row,int col]
//int rol,int col 的用法,主要是填充标题内容 worksheet.Cells[1, 1].Value = "姓名";//第一行一列 即:A1 worksheet.Cells[1, 2].Value = "年龄";//第一行二列 即:B1
3、worksheet.Cells[int fromRow,int fromcol,int toRow,int tocol]
//这个属性最主要的就是一个:合并(可用于复杂表头,和导出带合并行的表格)
//下面这2行主要想说明:合并行时必须保证上一行为false
worksheet.Cells[1, 2, a - 1, 2].Merge = false; worksheet.Cells[1, 2, a, 2].Merge = true;
四、样式
//让所有单元格内容水平垂直居中
worksheet.Cells.Style.ShrinkToFit = true; worksheet.Cells.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; //左右居中 worksheet.Cells.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; //上下居中 worksheet.Cells.Style.WrapText = true;//自动换行
//设置单元格边框 worksheet.Cells[1, 1, 1, 29].Style.Border.Top.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; worksheet.Cells[1, 1, 1, 29].Style.Border.Right.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; worksheet.Cells[1, 1, 1, 29].Style.Border.Left.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; worksheet.Cells[1, 1, 1, 29].Style.Border.Bottom.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin;
//设置标题 worksheetML_MLCG.Cells[address].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;//设置全部内容垂直居中 worksheetML_MLCG.Cells[address].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;//设置标题行填充颜色类型 worksheetML_MLCG.Cells[address].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(197, 217, 241));//设置标题行填充颜色
//设置任意单元格颜色,这2句话缺一不可!!! worksheetML_MLCG.Cells[x, 1, x, 29].Style.Fill.PatternType = ExcelFillStyle.Solid;//必须在设置颜色前 worksheetML_MLCG.Cells[x, 1, x, 29].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(163, 255, 252));
未完待续!~~~~~~~亲,有问题可以提出,不足之处还请指教,缺少内容会陆续补充