欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net 操作excel

程序员文章站 2022-03-20 12:29:38
.net 操作excel的常用组件:EPPlus,NPOI 1.NPOI,即POI的.NET版本(POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office文件,格式包括xls, doc, ppt等。) 2.EPPlus, Epplus是一个使用Open Off ......

.net 操作excel的常用组件:epplus,npoi

1.npoi,即poi的.net版本(poi是一套用java写成的库,能够帮助开发者在没有安装微软office的情况下读写office文件,格式包括xls, doc, ppt等。)
 
2.epplus, epplus是一个使用open office xml文件格式,能读写excel的第三方插件。
 
先介绍几个基础的类:
 
(1)excelpackage  excelpackage是epplus的入口类,解析一个excel文件,该类实现了idisposable接口,可以使用using进行对象释放。
常用构造函数:
public excelpackage();
public excelpackage(fileinfo newfileinfo);
public excelpackage(stream newstream);
using (excelpackage package = new excelpackage(new fileinfo(path);))
{  
   package.save();//保存后 epplus组件才会将excel按初始化传入的路径在本地磁盘上进行保存。
}

 

(2)excelworkbook  excelworkbook类表示了一个excel文件。

 

(3)excelworksheet    是excelworkbook 的属性,对应每一个不同的sheet。

给excel文件添加多个sheet

 list<excelworksheet> ews= new list<excelworksheet>();
 ews.add(package.workbook.worksheets.add("sheetname1"));//sheet1
 ews.add(package.workbook.worksheets.add("sheetname2"));//sheet2

 sheet的一些属性

ews[0].row(1).height = 24;//行高   
ews[0].row(1).customheight = true;//自动调整行高   
ews[0].column(2).autofit(20);//列宽(epplus的所有行列数都是以1开始的)   
ews[0].column(2).width = 20;//列宽   
ews[0].cells.autofitcolumns();//自动列宽   
ews[0].cells .style .shrinktofit = true;//单元格自适应   
ews[0].cells.style.wraptext = true;//自动换行   
ews[0].hidden = eworksheethidden.hidden;//隐藏sheet   
ews[0].protection.isprotected = true;//锁定sheet,不可更改

 

(4)excelrange类    sheet内自定义区域。

定义区域

excelrange range1 = wss[c].cells[2, 1];// row, col
excelrange range2 = wss[c].cells[1, 1,3,3];//fromrow, fromcol, torow, tocol

 range的一些属性

range.style.border.left.style = excelborderstyle.thin;//边框
range.style.font.color.setcolor(system.drawing.color.red);//字体颜色
range.value = "111";//区域的值
range.merge = true;//合并
range.style.wraptext = true;//自动换行
range.autofitcolumns(10);//列宽
range.style.horizontalalignment = excelhorizontalalignment.center;//对齐方式