一、下载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的更多相关文章

  1. NPOI操作之一EXCEL数据导入数据库

    一.概要 前面讲到NPOI操作EXCEL导出功能,下面讲下从EXCEL里获取数据添加进数据库. 二.代码 HSSFWorkbook hssfworkbook; public void ExcelDat ...

  2. 使用NPOI随意创建Excel(含下拉列表)

    //创建工作簿 HSSFWorkbook ssfworkbook = new HSSFWorkbook(); //创建工作表(页) HSSFSheet sheet1 = ssfworkbook.Cre ...

  3. NPOI操作EXCEL(四)——反射机制批量导出excel文件

    前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面 ...

  4. NPOI操作EXCEL(二)——大量不同模板时设计方式

    上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以 ...

  5. NPOI操作excel之写入数据到excel表

    在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...

  6. C#开发中使用Npoi操作excel实例代码

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

  7. 用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 ...

  8. Excel操作--使用NPOI导入导出Excel为DataTable

    1.ExcelHelper封装 namespace NPOI操作Excel { public class ExcelHelper { /// <summary> /// DataTable ...

  9. 使用NPOI操作Excel

    案例:用NPOI动态生成一个Excel表,然后弹出对话框让用户下载,文件名是"用户列表.xls" 先去相关网站下载 NPOI DLL文件,再引用   application/x-e ...

随机推荐

  1. 在JavaScript中,如何判断数组是数组?

    如果你没有注意过这个问题,那么这个标题应该会让你感到困惑,判断数据类型这么基础的问题能有什么坑呢? 少年,你不能太天真了,我们朝夕面对的这门语言,可是JavaScript呀,任何你觉得已经习以为常的东 ...

  2. 013_UDP专项研究监控

    数据源: /proc/net/snmp; 采集方式:累计值,每10秒采集一次取差值: 指标:net.snmp.udp (key: system); Out Datagrams: udp层发送的数据包总 ...

  3. 【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 ...

  4. aptitude与apt-get

    aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.举例来说,aptitud ...

  5. Java后端学习,推荐书籍和学习路线

    最近在学习Java和全栈开发,推荐一些有用的书籍 书架主要针对Java后端和全栈开发用的 书籍介绍 <Spring Boot 2.0企业级应用开发实战> 本书深入浅岀地讲解了 Spring ...

  6. 一丶HTML介绍

    import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('local ...

  7. ProgressDialog替代

    在API level 26 中,ProgressDialog被声明不赞成使用,应使用的替代方法是ProgressBar 利用下列代码实现ProgressBar的出现和消失 progressBar.se ...

  8. The Quad - Directory Explorer(一款四窗口的文件资源管理器)

    官网:http://www.q-dir.com/ 参考这位兄弟的介绍:https://www.cnblogs.com/clso/p/4694486.html 一款四窗口的文件资源管理器.

  9. js object数据类型

    1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数 高级类型对象都是object类型 2.如何创建一个object类型对象 1) 通过调用Obje ...

  10. .net core 利用日志查看ef生成的SQL语句

    EF Core 没有直接提供像 EF6 那样方便的在日志中记录最终生成的 SQL 的功能,可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现. 一. 使用 Mi ...