使用NPOI进行Excel操作
一、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:最近用上了,想想还是记录一下的好
使用NPOI进行Excel操作的更多相关文章
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- Npoi导入导出Excel操作
之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求. 在winform上面实现excel操作:http://www.cnblogs.com/Cal ...
- NPOI对Excel的操作(Sheet转DataTable、List<T>)
通过NPOI对Excel进行操作,这里主要是读取的操作.封装到ExcelHelper操作类中. 1 using System.Collections.Generic; 2 using NPOI.HSS ...
- .Net Excel操作之NPOI(二)常用操作封装
一.Excel数据导出常用操作 1.指定表头和描述 2.指定数据库中读出的数据集合 二.ExcelExport封装 /// <summary> /// Excel常用的表格导出逻辑封装 / ...
- .Net Excel操作之NPOI(一)简介
一.NPOI简介 NPOI是一个开源项目,可以读/写xls,doc,ppt文件,有着广泛的应用. 使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支 ...
- JS异步上传Excel 并使用NPOI进行读写操作
实现功能 导入——客户端使用 ajaxfileupload.js 插件实现Excel的异步上传,并在服务端解析成JSON字符串返回页面 导出——将页面中的grid表拼接成JSON串上传至服务器,在服务 ...
- 用NPOI、C#操作Excel表格生成班级成绩单
在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...
- C#NPOI对Excel的操作、导入导出时异常处理、最全的NPOI资料在这里~
一.Excel理论知识 最新版NPOI2.4.1链接:https://pan.baidu.com/s/1iTgJi2hGsRQHyw2S_4dIUw 提取码:adnq • 整个Excel表格叫做工作 ...
- NPOI - .NET Excel & Word操作组件
概要 NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. NPOI是构建在POI 3.x版本之上的,它可以在没有安装Offi ...
随机推荐
- jquery实现select数据回显
[html] view plain copy <select class="div_select_re" id="edit_technicalGrade&q ...
- Jdk8 DNS解析
注:JDK7和JDK8关于DNS解析的实现有差异,该问题在JDK7下可能不存在: Java中的DNS解析一般是通过调用下面的方法: public static InetAddress getByNam ...
- [源码分析]HashSet 和LinkedHashSet
特性 HashSet是一个可存储不重复元素的容器,底层实现依赖 HashMap,所以在添加,删除,查找元素时的时间复杂度均为 O(1). 构造方法,初始化内部的HashMap public HashS ...
- Docker运行图形化程序
原理 Docker支持图形化程序,是利用Linux的X11技术. 相关文章 如何在Docker容器中启动D-Bus 引文详情 如何在Docker容器中启动D-Bus 翻译自 https://georg ...
- android studio如何连接夜神模拟器
原创 2018-02-05 21:35:03 会飞的鱼儿android 阅读数 16706 文章标签: 夜神模拟器连接夜神模拟器的简单方式 更多 分类专栏: Android 版权声明:本文为博主原 ...
- 【C++】C++ 左值、右值、右值引用详解
左值.右值 在C++11中所有的值必属于左值.右值两者之一,右值又可以细分为纯右值.将亡值.在C++11中可以取地址的.有名字的就是左值,反之,不能取地址的.没有名字的就是右值(将亡值或纯右值).举个 ...
- C# 动态创建EXE
1.创建项目SaveExe或者修改代码中SaveExe名字为自己的项目 2.添加按钮调用CreateCodeEXE,即可实现编译生成一个新的exe即 复制了自身的exe生成一个新的exe(目的就是新生 ...
- pytorch使用DataParallel并行化负载不均衡问题
使用DataParallel进行并行化时的结构如下: 在上图第一行第四个步骤中,GPU-1 其实汇集了所有 GPU 的运算结果.这个对于多分类问题还好,但如果是自然语言处理模型就会出现问题,导致 GP ...
- 【计算机视觉】黄金标准算法Gold Standard algorithm
前言 最近有关于3DMM的内容,博主也只是看了个大概,并没有深入了解算法的实现原理和过程.昨天实习生问关于黄金标准算法的推导,博主也就参考一些资料熟悉了这个算法的实现过程.不太了解使用这个算法的前因后 ...
- vue做页面按钮权限--分析
import * as types from '../mutation-types' const state = { btnCode: getBtnCode(), } const mutations ...