NPOI--------------.Net操作Excel初步使用(导出)
背景
因公司项目需要添加数据导出功能故此添加,找了几种方式发现该方式具有 无需依赖本机安装office环境,使用灵活等优点故采用此方式。
安装
Nuget 直接安装NPOI即可
使用方式
1.根据需要使用2003或者2007的不同选择不同创建操作对象
IWorkbook fileWorkbook;
try
{
fileWorkbook = new XSSFWorkbook();
}
catch
{
fileWorkbook = new HSSFWorkbook();
}
2.Excel的操作必须要建立在Sheet的基础上 所以需要先建立一个Sheet
ISheet sheet = fileWorkbook.CreateSheet("Sheet1") as ISheet;
3.根据需要 可以设置列宽
sheet.SetColumnWidth(, * );//设置宽度首列
其中 第一个参数为列索引 第二个参数为字符数 例子代表允许显示50个字符 如100字符 则为100* 256
4.创建行
IRow row = sheet.CreateRow(rowIndex);
注: 行宽度直接用row实例即可修改 如:row.Height=30 * 20;
5.创建单元格
ICell cellTitle = row.CreateCell();
cellTitle.SetCellValue($"销售汇总({StartDate}至{EndDate})");
注:
1.0为列索引
2.第二行为赋值方式展示
6.设置居中
//设置单元格格式 居中
ICellStyle cellstyle = fileWorkbook.CreateCellStyle();
cellstyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellstyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellTitle.CellStyle = cellstyle;
直接赋值到所在单元格cellStyle属性即可
7.合并单元格
sheet.AddMergedRegion(new CellRangeAddress(, , , ));//合并单元格 0行0列到0行5列
参数从左到右分别为 起始行号 结束行号 起始列号 结束列号
8.保存到文件
public string OutputClient(IWorkbook fileWorkbook)
{
//转为字节数组
MemoryStream stream = new MemoryStream();
fileWorkbook.Write(stream);
var buf = stream.ToArray();
var path = Path.Combine(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Export");
string fileName = Path.Combine(path, $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xls");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
//保存为Excel文件
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
fs.Write(buf, , buf.Length);
fs.Flush();
}
return fileName;
}
保存文件方法
这里提供一个通用的保存方法 保存到exe 文件目录下的Export 文件夹 没有改文件夹会自动创建 文件名为日期到毫秒
NPOI--------------.Net操作Excel初步使用(导出)的更多相关文章
- ASP.NET使用NPOI加载Excel模板并导出下载
1.为什么要使用NPOI导出Excel? 一.解决传统操作Excel遇到的问题: 如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导 ...
- POI操作Excel导入和导出
Apache的POI组件是Java操作Microsoft Office办公套件的强大API,当中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel.由于Word和Po ...
- asp.net(C#)之NPOI"操作Excel
1.首先到网上下载"NPOI.DLL".引用. 2.新建一个操作类"ExcelHelper.cs": using System.Collections.Gene ...
- C#开发之基于NPOI的操作Excel开发体验
最近遇到一个数据导入的需求,语言是.net framework 4.7的C#.但是,这次主要探讨NPOI的体验,原则就是向前兼容.所以采用.xls的支持.网上的资料,我稍微整合了一些. #1 单元格下 ...
- C# 之 用NPOI类库操作Excel
1.需引用以下命名空间: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HPSF; using NPOI.HSSF.Ut ...
- POI操作Excel(批量导出数据/下载excel)
目录 1.第一个demo:创建工作簿,创建sheet页,创建单元格 2.创建一个时间格式的单元格 3.遍历工作簿的行和列并获取单元格内容 4.文本提取 5.单元格对齐方式 ...
- NPOI简单操作excel
本文仅当是个记录文件,仅供初学者参考. 首先得using几个npoi的空间名如下: using NPOI.HSSF.UserModel;using NPOI.HSSF.Util;using NPOI. ...
- [Excel]C#操作Excel(导入导出)
/// <summary> /// 读取Excel文档 /// </summary> /// <param name="Path">文件名称&l ...
- NPOI读取操作excel
.读取using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode.Open, FileAccess.Rea ...
随机推荐
- I.MX6 Android can-utils 移植
/******************************************************************* * I.MX6 Android can-utils 移植 * ...
- (转)IE内存泄露,iframe内存泄露造成的原因和解决方案
http://my.oschina.net/jsan/blog/11169 http://blog.csdn.net/tianma630/article/details/8502395 jQuery ...
- 设计模式-COMMOND PATTERN (ACTIVE OBJECT PATTERN是一种特殊的COMMOND PATTERN)
复用控制逻辑. 理解方式:Controller 获取到Light TeleVision Computer中的一个的对像,通过Icommond接口作用于它. ACTIVE OBJECT模式: class ...
- NOI题库--盒子和小球系列 By cellur925
题目传送门 盒子和小球之二:N个有差别的盒子(1<=N<=20).你有A个红球和B个蓝球.0 <= A <= 15, 0 <= B <= 15.球除了颜色没有任何区 ...
- ORA-14074: partition bound must collate higher than that of the last partition
There is a error happen in crotab: CREATE parttion report ORA-14074:ORA-14074: partition bound must ...
- 基于CentOS6.5或Ubuntu14.04下Suricata里搭配安装 ELK (elasticsearch, logstash, kibana)(图文详解)
前期博客 基于CentOS6.5下Suricata(一款高性能的网络IDS.IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐) 基于Ubuntu14.04下Suricata(一款高性能的网络ID ...
- 转】Mahout构建图书推荐系统
原博文出自于: http://blog.fens.me/hadoop-mahout-recommend-book/ 感谢! Mahout构建图书推荐系统 Hadoop家族系列文章,主要介绍Hadoop ...
- selenium通过autoit实现上传和下载
autoit安装目录如下: AutoIt Windows Info 用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. ...
- Oracle函数大全下载
Oracle函数大全下载 是一个压缩包,里面是一个chm格式的帮助文档,很实用.
- [Luogu2901][USACO08MAR]牛慢跑Cow Jogging Astar K短路
题目链接:https://daniu.luogu.org/problem/show?pid=2901 Astar的方程$f(n)=g(n)+h(n)$,在这道题中我们可以反向最短路处理出$h(n)$的 ...