NPOI操作创建Excel
一、下载NPOI类库
使用Nuget在线搜索NPOI,下载安装
二、代码开撸
var workBook = new HSSFWorkbook(); #region 设置样式 IFont font = workBook.CreateFont();
font.FontHeightInPoints = ;
font.FontName = "宋体";
font.Boldweight = (short)FontBoldWeight.Bold;
font.Color = HSSFColor.White.Index; HSSFPalette palette = workBook.GetCustomPalette(); //调色板实例
palette.SetColorAtIndex((short), (byte), (byte), (byte));//设置表头背景色
palette.SetColorAtIndex((short), (byte), (byte), (byte));//设置内容背景色
palette.SetColorAtIndex((short), (byte), (byte), (byte));//设置下边框线颜色
palette.SetColorAtIndex((short), (byte), (byte), (byte));//设置下边框线颜色
palette.SetColorAtIndex((short), (byte), (byte), (byte));//设置黄色 var cellMidStyle = workBook.CreateCellStyle();
cellMidStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//设置水平居中
cellMidStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;//设置垂直居中
cellMidStyle.FillPattern = FillPattern.SolidForeground;
cellMidStyle.FillForegroundColor = palette.FindColor((byte), (byte), (byte)).Indexed;
cellMidStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellMidStyle.BottomBorderColor = palette.FindColor((byte), (byte), (byte)).Indexed;
cellMidStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellMidStyle.LeftBorderColor = palette.FindColor((byte), (byte), (byte)).Indexed;
cellMidStyle.SetFont(font);
#endregion var sheet = workBook.CreateSheet("sheet1");//创建表格
// 第一行存放列名
var row = sheet.CreateRow();
for (int i = ; i < titles.Count; i++)
{
var cell = row.CreateCell(i);
cell.SetCellValue(titles[i]); int length = Encoding.UTF8.GetBytes(titles[i]).Length;
sheet.SetColumnWidth(i, length * );//设置表格列宽
cell.CellStyle = cellStyle;//设置单元格样式
}
int rowIndex = ;
foreach (var record in list)
{
row = sheet.CreateRow(rowIndex);
row.CreateCell().SetCellValue("单元格1");//给rowIndex行的第1列的单元格赋值
rowIndex++;
}
workBook.SetSheetOrder(sheet.SheetName, );//设置表格位置
workBook.SetActiveSheet();//设置默认表格
// 创建文件
using (FileStream fs = new FileStream(string.Format("{0}/{1}", path, DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"), FileMode.Create))
{
workBook.Write(fs);
}
NPOI操作创建Excel的更多相关文章
- NPOI操作之一EXCEL数据导入数据库
一.概要 前面讲到NPOI操作EXCEL导出功能,下面讲下从EXCEL里获取数据添加进数据库. 二.代码 HSSFWorkbook hssfworkbook; public void ExcelDat ...
- 使用NPOI随意创建Excel(含下拉列表)
//创建工作簿 HSSFWorkbook ssfworkbook = new HSSFWorkbook(); //创建工作表(页) HSSFSheet sheet1 = ssfworkbook.Cre ...
- NPOI操作EXCEL(四)——反射机制批量导出excel文件
前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面 ...
- NPOI操作EXCEL(二)——大量不同模板时设计方式
上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...
- NPOI操作excel之写入数据到excel表
在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...
- C#开发中使用Npoi操作excel实例代码
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...
- 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数 NPOI教程:http://www.cnb ...
- Excel操作--使用NPOI导入导出Excel为DataTable
1.ExcelHelper封装 namespace NPOI操作Excel { public class ExcelHelper { /// <summary> /// DataTable ...
- 使用NPOI操作Excel
案例:用NPOI动态生成一个Excel表,然后弹出对话框让用户下载,文件名是"用户列表.xls" 先去相关网站下载 NPOI DLL文件,再引用 application/x-e ...
随机推荐
- day07 数据类型间的相互转化及字符编码
今日内容: 字符间的相互转化 字符编码 今日重点: 字符间的相互转化 """ 字符间的相互转化: """ """ ...
- Appnium-API-Execute Mobile Command
Execute Mobile Command Java:driver.executeScript("mobile: scroll", ImmutableMap.of("d ...
- 【转】监听器(Listener)学习
一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其它对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监听的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通 ...
- .net 操作excel
.net 操作excel的常用组件:EPPlus,NPOI 1.NPOI,即POI的.NET版本(POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office文件, ...
- hbase学习一 shell命令操作
基本操作: #命名空间级别: #列出所有命名空间 hbase> list_namespace #新建命名空间 hbase> create_namespace 'ns1' #删除命名空间 h ...
- 配置ssh无密码登陆Linux
Windows下面的话需要安装git,或者其他能执行shell命令的软件 1.首先要先修改SSH的配置文件 vi /etc/ssh/sshd_config#修改配置文件 #如果被#注释了,就取消#号, ...
- 程序员不能忍996了!全民 fuck ,GitHub来说话
前两天有个Github超级火的一个项目,在一小时之内星标上千. https://github.com/997icu/996.ICU 截至目前 这个项目start数量超过63K.Issues5000 ...
- MQTT控制---subscribe
连接服务端 客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅. 固定报头 报头长度:2 Bytes 1.报头控制类型(0x82) 报文SUBSCRIBE控制报固定报头的第3.2.1.0位 ...
- Jace 上新建 Station 配置 笔记
1.Station站点的结构图 2.niagara 结构框架图 Niagara 系统的架构是围绕着“以组件(Component)为导向的编程”为核心设计的.组件(Component)是使用Java 编 ...
- listagg within group
oracle 多行合并成一行: listagg within group 可以和递归方法一起使用查询路径: 例如: SELECT LISTAGG(t.FOLDER_NAME, '/') WITHIN ...