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 ...
随机推荐
- 在JavaScript中,如何判断数组是数组?
如果你没有注意过这个问题,那么这个标题应该会让你感到困惑,判断数据类型这么基础的问题能有什么坑呢? 少年,你不能太天真了,我们朝夕面对的这门语言,可是JavaScript呀,任何你觉得已经习以为常的东 ...
- 013_UDP专项研究监控
数据源: /proc/net/snmp; 采集方式:累计值,每10秒采集一次取差值: 指标:net.snmp.udp (key: system); Out Datagrams: udp层发送的数据包总 ...
- 【easy】746. Min Cost Climbing Stairs 动态规划
On a staircase, the i-th step has some non-negative cost cost[i]assigned (0 indexed). Once you pay t ...
- aptitude与apt-get
aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.举例来说,aptitud ...
- Java后端学习,推荐书籍和学习路线
最近在学习Java和全栈开发,推荐一些有用的书籍 书架主要针对Java后端和全栈开发用的 书籍介绍 <Spring Boot 2.0企业级应用开发实战> 本书深入浅岀地讲解了 Spring ...
- 一丶HTML介绍
import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('local ...
- ProgressDialog替代
在API level 26 中,ProgressDialog被声明不赞成使用,应使用的替代方法是ProgressBar 利用下列代码实现ProgressBar的出现和消失 progressBar.se ...
- The Quad - Directory Explorer(一款四窗口的文件资源管理器)
官网:http://www.q-dir.com/ 参考这位兄弟的介绍:https://www.cnblogs.com/clso/p/4694486.html 一款四窗口的文件资源管理器.
- js object数据类型
1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数 高级类型对象都是object类型 2.如何创建一个object类型对象 1) 通过调用Obje ...
- .net core 利用日志查看ef生成的SQL语句
EF Core 没有直接提供像 EF6 那样方便的在日志中记录最终生成的 SQL 的功能,可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现. 一. 使用 Mi ...