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

使用NPOI进行Excel操作

程序员文章站 2022-08-30 09:15:01
一、NPOI组件导入 右键项目菜单,“管理NuGet程序包” 直接搜索“NPOI”即会出现列表,下载第一个进行安装即可 安装完成后项目引用会出现以下几项 二、基础使用 添加引用 Excel操作开始 文件导出 三、样式及单元格操作 单元格合并 文件的详细信息设置 四、Excel文件读取 读取完毕之后, ......

一、npoi组件导入

右键项目菜单,“管理nuget程序包”

使用NPOI进行Excel操作

直接搜索“npoi”即会出现列表,下载第一个进行安装即可

使用NPOI进行Excel操作

安装完成后项目引用会出现以下几项

使用NPOI进行Excel操作

二、基础使用

添加引用

using npoi.hpsf;
using npoi.hssf.usermodel;
using npoi.ss.usermodel;

excel操作开始

hssfworkbook hssfworkbook = new hssfworkbook();//先创建workbook
isheet sheet= hssfworkbook.createsheet("sheet1");//创建sheet页
irow row1=sheet.createrow(0);//创建行
row1.createcell(0).setcellvalue("test");//创建单元格并设置值

文件导出

filestream file = new filestream(sfilepath, filemode.create);
 hssfworkbook.write(file);
 file.close();

三、样式及单元格操作

//设置列宽(字符宽度)
sheet.setcolumnwidth(0, 10 * 256);//第一列,10个字符宽度

//设置行高
row.heightinpoints = 40;//高度(像素)

//设置网格的默认行高和列框
sheet.defaultcolumnwidth=100*256;
sheet.defaultrowheightinpoints = 30;
//设置单元格样式 

//样式创建
            icellstyle style = hssfworkbook.createcellstyle();
            style.alignment = npoi.ss.usermodel.horizontalalignment.center;//文字横向居中
            style.verticalalignment = verticalalignment.center;//文字纵向居中
            ifont font = hssfworkbook.createfont();//字体
            font.fontheight = 20 * 20;
            style.setfont(font);

            icell cell = row.cells[0];//获取单元格对象
            cell.cellstyle = style;//绑定样式

单元格合并

//单元格合并
sheet.addmergedregion(new npoi.ss.util.cellrangeaddress(0,0,0,8));//合拼了a1到i1

文件的详细信息设置

 //设置文件的详细信息
            documentsummaryinformation dsi = propertysetfactory.createdocumentsummaryinformation();
            dsi.company = "公司名称";//公司
            summaryinformation si = propertysetfactory.createsummaryinformation();
            si.subject = "主题";//主题
            hssfworkbook.documentsummaryinformation = dsi;
            hssfworkbook.summaryinformation = si;

四、excel文件读取

//根据路径获取读取xls文件
hssfworkbook wb = new hssfworkbook(new filestream(@"c:\users\yc\desktop\text.xls", filemode.open)); //获取sheet对象 isheet sheet1 = wb.getsheet("sheet1");
//获取行
irow row = sheet1.getrow(0);
//获取单元格
icell cell = row1.getcell(0);

读取完毕之后,按需操作内容即可

ps:最近用上了,想想还是记录一下的好