一、NPOI组件导入

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

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

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

二、基础使用

添加引用

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();//创建行
row1.CreateCell().SetCellValue("test");//创建单元格并设置值

文件导出

FileStream file = new FileStream(sFilePath, FileMode.Create);
hssfworkbook.Write(file);
file.Close();

三、样式及单元格操作

//设置列宽(字符宽度)
sheet.SetColumnWidth(, * );//第一列,10个字符宽度 //设置行高
row.HeightInPoints = ;//高度(像素) //设置网格的默认行高和列框
sheet.DefaultColumnWidth=*;
sheet.DefaultRowHeightInPoints = ;
//设置单元格样式 

//样式创建
ICellStyle style = hssfworkbook.CreateCellStyle();
style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//文字横向居中
style.VerticalAlignment = VerticalAlignment.Center;//文字纵向居中
IFont font = hssfworkbook.CreateFont();//字体
font.FontHeight = * ;
style.SetFont(font); ICell cell = row.Cells[];//获取单元格对象
cell.CellStyle = style;//绑定样式

单元格合并

//单元格合并
sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(,,,));//合拼了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:最近用上了,想想还是记录一下的好

最新文章

  1. ViewPager及PagerTabStrip 的使用详解
  2. 递归O(NlgN)求解逆序数
  3. Spring RMI (Spring 远程方法调用)
  4. CDOJ 1259 昊昊爱运动 II 线段树+bitset
  5. 节点属性(DOM对象)
  6. 异常处理与调试4 - 零基础入门学习Delphi53
  7. HDU2842-Chinese Rings(递推+矩阵高速幂)
  8. java 自定义BufferedReader_readLine
  9. 项目中经常使用的JS方法汇总,非常有用
  10. 从入门到放弃,.net构建博客系统(二):依赖注入
  11. arcgis for js symbol图标的变化
  12. docker实战练习(一)
  13. PHP-FIG - PHP 标准规范
  14. Struts2框架中使用Servlet的API示例
  15. org.springframework.web.util.WebUtils.isSameOrigin(WebUtils.java:816)
  16. windows server 2008通过任务计划程序定时访问网站
  17. Java对象的序列化和反序列化源码阅读
  18. ArcMap中条件语句的bug
  19. Linux IO模式-阻塞io、非阻塞io、多路复用io
  20. 手机触屏滑动图片切换插件swiper.js

热门文章

  1. 欧拉法求解常微分方程(c++)
  2. webpack4.0中文文档踩坑记录
  3. MySQL 是如何利用索引的
  4. portaudio使用笔记《转》
  5. Spark2.x(六十二):(Spark2.4)共享变量 - Broadcast原理分析
  6. EF获取当天的数据集合
  7. linux剪贴板
  8. Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法
  9. github 体积限制
  10. matlab学习笔记13_2匿名函数