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 ...
随机推荐
- HTML5 scada 组态工具
底层引擎 提供了基于WebGL的3D技术的图形组件, WebGL基于OpenGL ES 2.0图形接口,因此WebGL属于底层的图形API接口, 二次开发还是有很高的门槛,通过对WebGL底层技术的封 ...
- Python中区分函数和方法
1.简单粗暴型: def func(): ... class Foo: def eat(self): print("吃") f = Foo() print(func) #<f ...
- 001 爬虫的基本概念以及urllib的request和parse
1.http的请求方式: get请求 优点:比较便捷 缺点:不安全.长度有限制post请求 优点:比较安全.数据整体没有限制.可以上传文件putdelete(删除一些信息) 发送网络请求(可以带一定的 ...
- pandas基础用法
首先生成一维数组 data = pd.Series([1,2,3,4,5,6,7,8,9])data运行结果 data.head()#默认取前五条,当然也可以加参数 data.tail()#默认取前五 ...
- adb devices 找不到设备
问题如图: 解决方法: 1.在开发人员选项中,找到USB调试,打开USB调试 2.如果还不行,下载360手机助手,连接手机,会自动安装驱动 3.再次adb devices,OK
- P5305 [GXOI/GZOI2019]旧词
题目地址:P5305 [GXOI/GZOI2019]旧词 这里是官方题解 \[\sum_{i \leq x}^{}\ depth(lca(i,y))^k\] \(k = 1\) 求的是 \(\sum_ ...
- 2018-2019-2 20165325《网络对抗技术》Exp0 Kali安装 Week1
2018-2019-2 20165325<网络对抗技术>Exp0 Kali安装 Week1 一.安装kali VMware上学期已经有了,主要是下载Kali-Linux-2019.1-vm ...
- Java基础 -- Java 抽象类 抽象方法
总结: 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过.只有抽象类的非抽象子类可以创建对象. 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类. ...
- Web前端-关于jQuerry
jQuery-The write less,do more,jacascript library 非常方便的js库,封装了许多有用的功能. 1.jq与js对象之间的转换 <script> ...
- linux设置环境变量(这里以hive为例给大家举例)
1.进入: cd /export/servers/hive/bin/ -rwxr-xr-x. 1 root root 1031 Apr 30 2015 beeline-rw-r--r--. 1 roo ...