【转】.NET NPOI操作Excel常用函数

最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本。

推荐:

NPOI官方网站

NPOI 1.2.4/1.2.5 官方教程

新建Excel

HSSFWorkbook hssfworkbook =newHSSFWorkbook();

ISheet sheet1 = hssfworkbook.CreateSheet("sheet1");//建立Sheet1

保存(导出)Excel

FileStream file =newFileStream(@"e:\HSSFWorkbook.xls",FileMode.Create);

hssfworkbook.Write(file);

file.Close();

导入Excel

FileStream file =newFileStream(@"template/Template.xls",FileMode.Open,FileAccess.Read);

hssfworkbook =newHSSFWorkbook(file);

添加文字

ICell cell1 =HSSFCellUtil.CreateCell(sheet1.CreateRow(0),0,"A1");//添加A1到A1单元,并对Row0实例化

ICell cell2 = HSSFCellUtil.CreateCell(sheet1.GetRow(0), 1, " B1 ");//添加B1到B1单元,此方法需Row0实例化后才可使用

sheet1.GetRow(0).CreateCell(2).SetCellValue("C1");//添加C1到C1单元,此方法需Row0实例化才可使用

sheet1.CreateRow(1).CreateCell(0).SetCellValue("A2");//添加A2到A2单元,并对Row1实例化

注意添加文字时候对单元格实例化问题,如果在同一单元格,多次实例化后,会覆盖同行的文字。提供了两种添加文字方式,各有优缺点吧。

设置字体格式

IFont font1 = hssfworkbook.CreateFont();

font1.FontName="宋体";//字体

font1.FontHeightInPoints = 20;//字号

font1.Color = HSSFColor.RED.index;//颜色

font1.Boldweight = 700;//粗体

font1.IsItalic = true;//斜体

font1.Underline = (byte)FontUnderlineType.DOUBLE;//添加双下划线

ICellStyle style1 = hssfworkbook.CreateCellStyle();

style1.SetFont(font1);

字体格式绑定在Style中,Style包含了字体格式、颜色、边框等设置,当设置好Style后,赋值给单元格即可。

cell1.CellStyle= style1;

sheet1.GetRow(1).GetCell(0).CellStyle= style1;

合并单元格

sheet1.AddMergedRegion(newCellRangeAddress(2,3,0,1));//合并A3-B4

//CellRangeAddress(起始行,终止行,起始列,终止列);

添加边框

ICellStyle style2 = hssfworkbook.CreateCellStyle(); style2.BorderBottom= NPOI.SS.UserModel.BorderStyle.THIN; style2.BorderLeft= NPOI.SS.UserModel.BorderStyle.THIN;style2.BorderRight= NPOI.SS.UserModel.BorderStyle.THIN; style2.BorderTop= NPOI.SS.UserModel.BorderStyle.THIN;

//添加斜线

style2.BorderDiagonal = BorderDiagonal.BACKWARD; style2.BorderDiagonalLineStyle= NPOI.SS.UserModel.BorderStyle.THIN;
cell2.CellStyle= style2;

添加边框要对上下左右边框都进行描述。

设置对齐相关设置

ICellStyle style3 = hssfworkbook.CreateCellStyle(); style3.Alignment= NPOI.SS.UserModel.HorizontalAlignment.CENTER;//居中style3.VerticalAlignment=VerticalAlignment.CENTER;//垂直居中 style3.WrapText=true;//自动换行

sheet1.GetRow(0).GetCell(2).CellStyle= style3;

转载自:http://anchises.blog.163.com/blog/static/6432108220129211423620/

时间: 2024-10-17 08:03:46

【转】.NET NPOI操作Excel常用函数的相关文章

Npoi操作excel

转载地址:http://www.cnblogs.com/knowledgesea/archive/2012/11/16/2772547.html Npoi操作excel Npoi 简介 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.Npoi 下载地址:http://npoi.codeplex.com/releases/view/38113 3.Npoi 学习系列教程推荐:http://www.cnblogs.co

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

C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.Npoi 下载地址:http://npoi.codeplex.com/releases/view/38113 3.Npoi 学习系列教程推荐:http://www.cnblogs.com

数据库及表、列的操作,常用函数

数据库及表.列的操作,常用函数 一.数据库的建立 格式:CREATE DATABASE "数据库文件名 " 修改数据库 格式:ALTER DATABASE "数据库文件名"{} 删除数据库 DROP DATABASE "数据库文件名" 二.建立表的结构 注释:下划线表示可有可无 1.CREATE TABLE "数据库名"."表名" (  列名 数据类型 null/not null primary,    列

NPOI操作Excel 003:写入空Excel

对于NPOI操作Excel前面已经有了简单认识(http://blog.csdn.net/yysyangyangyangshan/article/details/42614209).继续来看如何将内容保存至Excel中.根据前面的经验NPOI操作Excel主要的几个对象分别是:workbook,sheet以及sheet内的row和cell.所以保存至Excel也是对这几个对象进行操作.当然我们平时使用Excel时不光要在单元格中保存内容,还要设置单元格的格式以及字体大小等,也就是格式和样式.这些

NPOI操作excel——利用反射机制,NPOI读取excel数据准确映射到数据库字段

> 其实需求很明确,就是一大堆不一样的excel,每张excel对应数据库的一张表,我们需要提供用户上传excel,我们解析数据入库的功能实现. 那么,这就涉及到一个问题:我们可以读出excel的表头,但是怎么知道每个表头具体对应数据库里面的字段呢? 博主经过一段时间的思考与构思,想到一法:现在的情况是我们有excel表A,对应数据库表B,但是A与B具体属性字段的映射关系我们不知.那我们是不是可以有一个A到B的映射文件C呢? 我想,说到这,大家就很明了了... 第一步:为每张excel创建一个与

用NPOI操作EXCEL-锁定列CreateFreezePane()

public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkbook(); string random = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(100); string fileName = HttpUtility.UrlEncode("sheet"

NPOI操作EXCEL--设置密码及设置只读

有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完成,如下图:      那么,在NPOI中有没有办法通过编码的方式达到这一效果呢?答案是肯定的. HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); HSSFRow row1 = sheet1.CreateRow(0);HSSFCell cel1 = row1.CreateCell(0);HS

通过NPOI操作Excel

最近在做的一个项目中需要生成Excel,通过学习使用NPOI实现了相关需求,写了一个简便操作的类,记录如下: public class NPOIHelperForExcel { #region excel文件属性 //作者 public string Author { get; set; } //标题 public string Title { get; set; } //主题 public string Subject { get; set; } //标记 public string Keyw

Excel常用函数总结

Excel常用函数总结 2016-10-28 Kevin 叼着奶瓶撩妹 1. VLOOKUP函数 常见形式 问题描述:将下图中G列的数据根据学生的姓名填充到D列. 公式解析: =VLOOKUP(A2,$F$2:$G$16,2,FALSE) 参数1:需要查询的数据 参数2:指定查询的区域,必须包含查找值和返回值,且第1列必须是查找值 参数3:$F$2:$G$16区域的第2例 参数4:指定的查找方式,TRUE表示模糊 查找,FALSE表示精确查找 解法之二 上图中的问题也可使用INDEX+MATCH