Excel导出-Epplus

首先引入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]

 1worksheet.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));//设置标题行填充颜色

 2worksheet.Cells[int row,int col]

//int rol,int col 的用法,主要是填充标题内容
worksheet.Cells[1, 1].Value = "姓名";//第一行一列 即:A1
worksheet.Cells[1, 2].Value = "年龄";//第一行二列 即:B1

3worksheet.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));

 

 未完待续!~~~~~~~亲,有问题可以提出,不足之处还请指教,缺少内容会陆续补充

 

 

 

posted @ 2014-04-26 17:05  CTRA王大大  阅读(1843)  评论(1编辑  收藏  举报