HSSFWorkbook hssfworkbook = new HSSFWorkbook(); //增加 Excel
NPOI.SS.UserModel.ISheet SheetName = hssfworkbook.CreateSheet(Dr_Subject["SubjectName"].ToString());//增加 Sheet
NPOI.SS.UserModel.IRow SheetRows = SheetName.CreateRow(RowCount); //行
NPOI.SS.UserModel.ICell cell = SheetRows.CreateCell(ColCount);//列
cell.SetCellValue(Dt_Grade.Rows[i]["GradeName"].ToString() + "排班");//值
NPOI.SS.Util.CellRangeAddress cellRangeAddress = new NPOI.SS.Util.CellRangeAddress(rowstart, rowend, colstart, colend);//合并单元格
sheet.AddMergedRegion(cellRangeAddress);//合并单元格
SheetRows.GetCell(ColCount).CellStyle = CellStyle() //设置样式

private NPOI.SS.UserModel.ICellStyle CellStyle()
{
NPOI.SS.UserModel.ICellStyle style = hssfworkbook.CreateCellStyle();//单元格的样式
NPOI.SS.UserModel.IFont font = hssfworkbook.CreateFont();//单元格的字体 font.FontName = "<SPAN style='COLOR: #faebde'>'宋体'</SPAN>";
font.FontHeightInPoints = 10;
font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.BOLD; style.SetFont(font);//单元格的字体 style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;//水平居中
style.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;//垂直居中 Color LevelOneColor = Color.FromArgb(255, 153, 0);
style.FillPattern = NPOI.SS.UserModel.FillPatternType.SOLID_FOREGROUND;//填充
style.FillForegroundColor = GetXLColour(hssfworkbook, LevelOneColor); //调用GetXLColour方法 //有边框
style.BorderBottom = NPOI.SS.UserModel.CellBorderType.THIN;
style.BorderLeft = NPOI.SS.UserModel.CellBorderType.THIN;
style.BorderTop = NPOI.SS.UserModel.CellBorderType.THIN;
style.BorderRight = NPOI.SS.UserModel.CellBorderType.THIN;
       SheetName.SetColumnWidth(Col, 16 * 256);
        return style;

    }

防止重复添加行

  for (int StCount = 0; StCount < Dt_WHF.Rows.Count; StCount++)
{ if (SheetName.GetRow(Xh) == null)//没创建行情况
{
RowSt = SheetName.CreateRow(Xh); //
}
else
{
RowSt = SheetName.GetRow(Xh); //创建行的情况 } Xh = Xh + 1;
RowCount = RowCount + 1; StudentsXuHao = StCount+1; NPOI.SS.UserModel.ICell CellSt_Xuhao = RowSt.CreateCell(0);//这里创建添加列
CellSt_Xuhao.SetCellValue(StudentsXuHao.ToString());//这里设置列值 NPOI.SS.UserModel.ICell CellSt = RowSt.CreateCell(ClassCount + 1);//这里创建添加列
CellSt.SetCellValue(Dt_WHF.Rows[StCount]["StName"].ToString());//这里设置列值 }

  

 

asp.net Npoi 使用的更多相关文章

  1. ASP.NET- 使用NPOI导入导出标准Excel

    尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...

  2. asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    NPOI导出xlsx格式文件,会出现如下情况: 点击“是”: 导出代码如下: /// <summary> /// 将datatable数据写入excel并下载 /// </summa ...

  3. NPOI.dll学习

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 简介 编辑 使用 NPOI 你就可以在没有安装 Office 或者相应环 ...

  4. C#.NET开源项目、机器学习、商务智能

    所以原谅我,不能把所有的都发上来,太杂了,反而不好. 1..NET时间周期处理组件 这个组件很小,主要是对时间日期,特别是处理时间间隔以及时间范围非常方便.虽然.NET自带了时间日期的部分功能,但可能 ...

  5. C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    报错信息: 最近打开下载的 Excel,会报如下错误.(xls 格式不受影响) 解决方案: 下载代码(红色为新添代码) public void download() { string fileName ...

  6. 杂项-TOOL:NPIO

    ylbtech-杂项-TOOL:NPIO NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作.NPOI是一个开源的Ja ...

  7. Asp.Net 使用Npoi导出Excel

    引言 使用Npoi导出Excel 服务器可以不装任何office组件,昨天在做一个导出时用到Npoi导出Excel,而且所导Excel也符合规范,打开时不会有任何文件损坏之类的提示.但是在做导入时还是 ...

  8. Asp.net操作Excel(终极方法NPOI)(转)

    原文:Asp.net操作Excel(终极方法NPOI) 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中 ...

  9. ASP.NET导出Excel(利用NPOI和EPPlus库,无需安装Office)

    网上提供了很多Asp.net中操作Excel的方法,其中大部分是调用微软的Office组件,下面提供三个无须安装Office即可从Asp.net输出Excel的方法. 1 简单方法 //下面代码输出的 ...

随机推荐

  1. LeetCode——Longest Word in Dictionary through Deleting

    1. Question Given a string and a string dictionary, find the longest string in the dictionary that c ...

  2. UVa 11149 矩阵的幂(矩阵倍增法模板题)

    https://vjudge.net/problem/UVA-11149 题意: 输入一个n×n矩阵A,计算A+A^2+A^3+...A^k的值. 思路: 矩阵倍增法. 处理方法如下,一直化简下去直到 ...

  3. Android -- 网络图片查看器,网络html查看器, 消息机制, 消息队列,线程间通讯

    1. 原理图 2. 示例代码 (网络图片查看器) (1)  HttpURLConnection (2) SmartImageView (开源框架:https://github.com/loopj/an ...

  4. hdu 1241 搬寝室 水dp

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Desc ...

  5. 在activity之间传递数据

    在activity之间传递数据 一.简介 二.通过intent传递数据 1.在需要传数据的界面调用 intent.putExtra("data1", "我是fry&quo ...

  6. ANR异常

    ANR异常 一.简介 解决方法:别在主线程中写非常耗时的操作 二.代码实例 点击之后,不停点击,乱点 出现anr异常 代码 /anr/src/anr/MainActivity.java package ...

  7. The tilde ( ~ ) operator in JavaScript

    From the JavaScript Reference on MDC, ~ (Bitwise NOT) Performs the NOT operator on each bit. NOT a y ...

  8. MySQL中文入库问题

    中文测试没有问题了,此处bug源于MySQL自身编码的问题,创建数据库默认指定相关编码即可. 创建数据库时,指定utf8编码 CREATE DATABASE mydb DEFAULT CHARACTE ...

  9. Highcharts 标示区曲线图;Highcharts 对数图表;Highcharts 时间间隔图表

    Highcharts 标示区曲线图 配置 使用 yAxis.plotBands 属性来配置标示区.区间范围使用 'from' 和 'to' 属性.颜色设置使用 'color' 属性.标签样式使用 'l ...

  10. [C#]ref,out关键字的作用

    ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点. 使用ref前必须对变量赋值,out不用 out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都 ...