////自动换行   
            ////自动换行翻译成英文其实就是Wrap的意思,所以这里我们应该用WrapText属性,这是一个布尔属性   
            //style6.WrapText = true;   
            ////文本缩进   
            ////这是一个不太引人注意的选项,所以这里给张图出来,让大家知道是什么,缩进说白了就是文本前面的空白,我们同样可以用属性来设置,   
            ////这个属性叫做Indention。   
            //style6.Indention = 3;   
            ////文本旋转   
            ////文本方向大家一定在Excel中设置过,上图中就是调整界面,主要参数是度数,那么我们如何在NPOI中设置呢?  
            //style6.Rotation=(short)90;   
            ////以上代码是把单元格A1中的文本逆时针旋转90度   
            ///*   
            // * 请注意,这里的Rotation取值是从-90到90,而不是0-180度。   
            // * 最后别忘了把样式变量style赋给HSSFCellStyle.CellStyle,否则就前功尽弃了,呵呵!   
            // * **/   
            //#endregion   
            //#region 7.设置单元格边框   
            ////*************************************设置单元格边框******************************************   
            ////边框和其他单元格设置一样也是在HSSFCellStyle上操作的,HSSFCellStyle有2种和边框相关的属性,分别是:   
            ////边框相关属性 说明 范例    
            ////Border+方向 边框类型 BorderTop, BorderBottom,BorderLeft, BorderRight    
            ////方向+BorderColor 边框颜色 TopBorderColor,BottomBorderColor, LeftBorderColor, RightBorderColor

////其中边框类型分为以下几种:   
            ////边框范例图 对应的静态值    
            //// HSSFCellStyle.BORDER_DOTTED    
            //// HSSFCellStyle.BORDER_HAIR    
            //// HSSFCellStyle.BORDER_DASH_DOT_DOT    
            //// HSSFCellStyle.BORDER_DASH_DOT    
            //// HSSFCellStyle.BORDER_DASHED    
            //// HSSFCellStyle.BORDER_THIN    
            //// HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT    
            //// HSSFCellStyle.BORDER_SLANTED_DASH_DOT    
            //// HSSFCellStyle.BORDER_MEDIUM_DASH_DOT    
            //// HSSFCellStyle.BORDER_MEDIUM_DASHED    
            //// HSSFCellStyle.BORDER_MEDIUM    
            //// HSSFCellStyle.BORDER_THICK    
            //// HSSFCellStyle.BORDER_DOUBLE    
            ////至于颜色那就很多了,全部在HSSFColor下面,如HSSFColor.GREEN, HSSFColor.RED,都是静态实例,可以直接引用。   
            ////下面我们假设我们要把一个单元格的四周边框都设置上,可以用下面的代码:

//HSSFSheet sheet7 = hssfworkbook.CreateSheet("设置单元格边框");   
            //// Create a row and put some cells in it. Rows are 0 based.   
            //HSSFRow row7 = sheet7.CreateRow(1);   
            //// Create a cell and put a value in it.   
            //HSSFCell cell7 = row7.CreateCell(1);   
            //// Style the cell with borders all around.   
            //HSSFCellStyle style7 = hssfworkbook.CreateCellStyle();   
            //style7.BorderBottom= HSSFCellStyle.BORDER_THIN;   
            //style7.BorderLeft= HSSFCellStyle.BORDER_THIN;   
            //style7.BorderRight= HSSFCellStyle.BORDER_THIN;   
            //style7.BorderTop = HSSFCellStyle.BORDER_THIN ;   
            //cell7.CellStyle= style7;   
            ////这段代码使用了最普通的细边框,使得这个单元格看上去像块空心砖头。   
            ////注意:这里我们没有设置边框的颜色,但这不会影响最终的效果,因为Excel会用默认的黑色给边框上色。   
            ////如果要设置颜色的话,也很简单,如下:   
            //style7.BottomBorderColor = HSSFColor.GREEN.index;   
            ////以上代码将底部边框设置为绿色,要注意,不是直接把HSSFColor.GREEN赋给XXXXBorderColor属性,而是把index的值赋给它。   
            //#endregion

//#region 8.设置单元格字体   
            ////*************************************设置单元格字体******************************************   
            ////本节我们将继续使用NPOI来设置单元格格式,这一节我们主要讲如何设置“字体”。   
            ////在设置字体之前,我们首先要做的就是创建字体对象,这和创建数字格式很相似。

//HSSFFont font8 = hssfworkbook.CreateFont();   
            ////这句话会在Excel文件内部创建相应的FontRecord,所以你不用客户因为自己机器上的Excel没有相应的字体设置而导致设置丢失。

////字体在设置完成后,我们就可以把它赋给单元格样式,代码如下:   
            //HSSFSheet sheet8 = hssfworkbook.CreateSheet("设置单元格字体");   
            //HSSFRow row8 = sheet8.CreateRow(0);   
            //HSSFCell cell8 = row8.CreateCell(0);   
            //HSSFCellStyle style8 = hssfworkbook.CreateCellStyle();   
            //style8.SetFont(font8);   
            //cell8.CellStyle=style8;   
            ////这里的cell1是HSSFCell的一个实例。

////好了,下面我们就开始对字体进行设置。   
            ////字体名称

////这里的字体名称是通过HSSFFont.FontName进行设置的,至于具体的名称,只要是常用字体都可以,比如说Arial, Verdana等   
            ////,当然也可以是中文字体名,如宋体、黑体等。不过设置字体名称有个前提,那就是假设打开这个xls文件的客户机上有这种字体   
            ////,如果没有,Excel将使用默认字体。   
            ////下面就是设置字体名称为“宋体”的代码:   
            //font8.FontName = "宋体";

////字号   
            ////与字号有关的属性有两个,一个是FontHeight,一个是FontHeightInPoints。区别在于,FontHeight的值是FontHeightInPoints的20倍   
            ////,通常我们在Excel界面中看到的字号,比如说12,对应的是FontHeightInPoints的值,而FontHeight要产生12号字体的大小   
            ////,值应该是240。所以通常建议你用FontHeightInPoint属性。   
            ////如果要设置字号为12,代码就是   
            //font8.FontHeightInPoints = 12;

////字体颜色   
            ////这里可能会与CellStyle上的ForegroundColor和BackgroundColor产生混淆,其实所有的字体颜色都是在HSSFFont的实例上设置的   
            ////,CellStyle的ForegroundColor和BackgroundColor分别指背景填充色和填充图案的颜色,和文本颜色无关。   
            ////要设置字体颜色,我们可以用HSSFFont.Color属性,颜色可以通过HSSFColor获得,代码如下所示:   
            //font8.Color = HSSFColor.RED.index;   
            ////这行代码把文本设置为红色。

////下划线   
            ////通常我们所说的下划线都是单线条的,其实Excel支持好几种下划线,如下所示:   
            ////类型 对应的值    
            ////单下划线 HSSFFont.U_SINGLE    
            ////双下划线 HSSFFont.U_DOUBLE    
            ////会计用单下划线 HSSFFont.U_SINGLE_ACCOUNTING    
            ////会计用双下划线 HSSFFont.U_DOUBLE_ACCOUNTING    
            ////无下划线 HSSFFont.U_NONE    
            ////当你要设置下划线时,可以用HSSFFont.Underline属性,这是一个byte类型的值,例如   
            //font8.Underline = HSSFFont.U_SINGLE;   
            ////这行代码就是设置单下划线的代码。

////上标下标   
            ////设置这东西可以用HSSFFont.TypeOffset属性,值有以下几种:   
            ////TypeOffset的值 说明    
            ////HSSFFont.SS_SUPER 上标    
            ////HSSFFont.SS_SUB 下标    
            ////HSSFFont.SS_NONE 普通,默认值    
            ////所以如果你要上标的话,可以用下面的代码:   
            //font8.TypeOffset=HSSFFont.SS_SUPER;

////删除线   
            ////设置这东西可以用HSSFFont.IsStrikeout属性,当为true时,表示有删除线;为false则表示没有删除线。   
            //#endregion

//#region 9.设置单元格的背景和图案   
            ////*************************************设置单元格的背景和图案******************************************   
            ////在之前的教程中,我们已经提到HSSFCellStyle有两个背景颜色属性,一个叫FillBackgroundColor,另一个叫FillForegroundColor   
            ////,但其实这指的都是背景颜色,那为什么还有ForegroundColor呢?为了能够帮助大家理解,我们举一个实际的例子   
            ////,下面这个图案是Excel的一个单元格:(白线红格的网格)   
            ////线是白色的,背景是红色的。这里的线其实就是下面的Excel界面中的图案:   
            ////至于线的颜色则是图案颜色,即白色。   
            ////所以以上单元格如果要用NPOI来设置就可以用以下代码完成:   
            ////fill background   
            //HSSFSheet sheet9 = hssfworkbook.CreateSheet("设置单元格的背景和图案");   
            //HSSFCellStyle style9 = hssfworkbook.CreateCellStyle();   
            //style9.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.WHITE.index;   
            //style9.FillPattern = HSSFCellStyle.SQUARES;   
            //style9.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.RED.index;   
            //sheet9.CreateRow(7).CreateCell(0).CellStyle = style9;   
            ////现在是不是清楚一些了,这里的FillPattern就图案样式,所有的枚举值都是HSSFCellStyle的常量;FillForegroundColor就是图案的颜色   
            ////,而FillBackgroundColor则是背景的颜色,即红色。   
            //#endregion

//#region 10.设置单元格的宽度和高度   
            ////*************************************设置单元格的宽度和高度******************************************   
            ////在Excel中,单元格的宽度其实就是列的宽度,因为Excel假设这一列的单元格的宽度肯定一致。所以要设置单元格的宽度   
            ////,我们就得从列的宽度下手,HSSFSheet有个方法叫SetColumnWidth,共有两个参数:一个是列的索引(从0开始),一个是宽度。   
            ////现在假设你要设置B列的宽度,就可以用下面的代码:   
            ////HSSFWorkbook hssfworkbook = new HSSFWorkbook();   
            //HSSFSheet sheet10 = hssfworkbook.CreateSheet("设置单元格的宽度和高度");   
            //sheet10.SetColumnWidth(1, 100 * 256);   
            ////这里你会发现一个有趣的现象,SetColumnWidth的第二个参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度   
            ////,也就是说,这里是把B列的宽度设置为了100个字符。   
            ////刚才说的是如何设置,那如何去读取一个列的宽度呢?直接用GetColumnWidth方法,这个方法只有一个参数,那就是列的索引号。如下所示:   
            //int col1width = sheet10.GetColumnWidth(1);   
            ////说完宽度,我们来说高度,在Excel中,每一行的高度也是要求一致的,所以设置单元格的高度,其实就是设置行的高度   
            ////,所以相关的属性也应该在HSSFRow上,它就是HSSFRow.Height和HeightInPoints,这两个属性的区别在于HeightInPoints的单位是点   
            ////,而Height的单位是1/20个点,所以Height的值永远是HeightInPoints的20倍。   
            ////要设置第一行的高度,可以用如下代码:   
            //sheet10.CreateRow(0).Height = 200*20;   
            ////或者   
            //sheet10.CreateRow(0).HeightInPoints = 200;   
            ////如果要获得某一行的行高,可以直接拿HSSFRow.Height属性的返回值。   
            ////你可能觉得一行一行设置行高或者一列一列设置列宽很麻烦,那你可以考虑使用HSSFSheet.DefaultColumnWidth   
            ////、HSSFSheet.DefaultRowHeight和HSSFSheet.DefaultRowHeightInPoints属性。   
            ////一旦设置了这些属性,如果某一行或者某一列没有设置宽度,就会使用默认宽度或高度。代码如下:   
            //sheet10.DefaultColumnWidth=100*256;   
            //sheet10.DefaultRowHeight=30*20;   
            //#endregion

////把HSSFWorkbook实例写入文件   
            //FileStream file = new FileStream(Server.MapPath("test.xls"), FileMode.Create);   
            //hssfworkbook.Write(file);   
            //file.Close();

//*************************************基于模板******************************************   
            //read the template via FileStream, it is suggested to use FileAccess.Read to prevent file lock.   
            //book1.xls is an Excel-2007-generated file, so some new unknown BIFF records are added.    
            FileStream file11 = new FileStream(Server.MapPath("PayMain.xls"), FileMode.Open, FileAccess.Read);

HSSFWorkbook hssfworkbook11 = new HSSFWorkbook(file11);   
            HSSFSheet sheet11 = hssfworkbook11.GetSheet("Sheet2");   
            HSSFCellStyle style11 = hssfworkbook11.CreateCellStyle();   
            style11.BorderBottom = HSSFCellStyle.BORDER_THIN;   
            style11.BorderLeft = HSSFCellStyle.BORDER_THIN;   
            style11.BorderRight = HSSFCellStyle.BORDER_THIN;   
            style11.BorderTop = HSSFCellStyle.BORDER_THIN;   
            HSSFRow row11;   
            for (int i = 0; i < dt.Rows.Count; i++)   
            {   
                row11 = sheet11.CreateRow(7 + i);   
                for (int j = 0; j < 6; j++)   
                {   
                    HSSFCell cell11 = row11.CreateCell(j);   
                    cell11.SetCellValue(dt.Rows[i][j].ToString());   
                    cell11.CellStyle = style11;   
                }   
            }

row11 = sheet11.CreateRow(dt.Rows.Count + 7);   
            HSSFCell cell11_ = row11.CreateCell(0);   
            cell11_.SetCellValue("合计:");   
            cell11_ = row11.CreateCell(3);   
            cell11_.SetCellValue("建表人:");   
            //HSSFRow row11 = sheet11.CreateRow(7);   
            //HSSFCell cell10 = row11.CreateCell(0);   
            //HSSFCell cell11 = row11.CreateCell(1);   
            //HSSFCell cell12 = row11.CreateCell(2);   
            //HSSFCell cell13 = row11.CreateCell(3);   
            //HSSFCell cell14 = row11.CreateCell(4);   
            //HSSFCell cell15 = row11.CreateCell(5);   
            //cell10.SetCellValue("tessssss");   
            //cell11.SetCellValue("teffffff");   
            //cell12.SetCellValue("tegggggsss");   
            //cell13.SetCellValue("tesssssfwefsss");   
            //cell14.SetCellValue("tesssssfwefsss");   
            //cell15.SetCellValue("tesssssfwefsss");   
            //sheet11.GetRow(9).GetCell(0).SetCellValue(300);   
            //sheet11.GetRow(10).GetCell(1).SetCellValue(500050);   
            //sheet11.GetRow(11).GetCell(1).SetCellValue(8000);   
            //sheet11.GetRow(12).GetCell(1).SetCellValue(110);   
            //sheet11.GetRow(13).GetCell(1).SetCellValue(100);   
            //sheet11.GetRow(14).GetCell(1).SetCellValue(200);   
            //sheet11.GetRow(15).GetCell(1).SetCellValue(210);   
            //sheet11.GetRow(16).GetCell(1).SetCellValue(2300);   
            //sheet11.GetRow(17).GetCell(1).SetCellValue(240);   
            //sheet11.GetRow(18).GetCell(1).SetCellValue(180123);   
            //sheet11.GetRow(19).GetCell(1).SetCellValue(150);

//Force excel to recalculate all the formula while open   
            Response.ContentType = "application/vnd.ms-excel";   
            Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", "T3"));   
            Response.Clear();

DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();   
            dsi.Company = "NPOI Team";   
            hssfworkbook.DocumentSummaryInformation = dsi;

////create a entry of SummaryInformation   
            SummaryInformation si = PropertySetFactory.CreateSummaryInformation();   
            si.Subject = "NPOI SDK Example";   
            hssfworkbook11.SummaryInformation = si;

MemoryStream file = new MemoryStream();   
            hssfworkbook11.Write(file);   
            Response.BinaryWrite(file.GetBuffer());   
            Response.End();

//sheet11.ForceFormulaRecalculation = true;    
            //FileStream file111 = new FileStream(Server.MapPath("T2.xls"), FileMode.Create);    
            //hssfworkbook11.Write(file111);   
            //file111.Close();

npoi的基本操作的更多相关文章

  1. NPOI基本操作XLS

    using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using Sys ...

  2. NPOI的一些基本操作

    1,创建一个Excel //创建一个工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建一个页 ISheet sheet = workbook.Cr ...

  3. NPOI 2.0 教程

    NPOI2.0帮助官方地址 目录 1. 前言 1.1 NPOI 2.0与NPOI 1.x的区别 1.2 NPOI 2.0模块简介 1.3 自动识别并打开Excel 2003和Excel 2007文件 ...

  4. C#项目中操作Excel文件——使用NPOI库

    转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...

  5. .NET Core 首例 Office 开源跨平台组件(NPOI Core)

    前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...

  6. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  7. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  8. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  9. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

随机推荐

  1. CSS实现三列布局方法总结

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABYwAAAI7CAYAAABPx9+YAAARJElEQVR4nO3cwWnDQBBA0TioJrXhTl

  2. 网络编程:I/O模型

    I/O模型 Unix下可用的5种I/O模型有: 阻塞式I/O 非阻塞式I/O I/O复用(select和poll,epoll) 信号驱动式I/O 异步I/O(POSIX的aio_系列函数) 一个输入操 ...

  3. Linux局域网内文件传送

    先安装ssh服务 sudo apt-get install ssh 普通传输文件,可以使用scp命令 1.将本地文件复制到目标机器: scp  文件名 用户名@目标机器IP:目标机器路径 回车后输入密 ...

  4. bzoj 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列——map+hash+转换

    Description N(1<=N<=100000)头牛,一共K(1<=K<=30)种特色, 每头牛有多种特色,用二进制01表示它的特色ID.比如特色ID为13(1101), ...

  5. error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'

    error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System. ...

  6. Part2-HttpClient官方教程-Chapter6-HTTP缓存(HTTP Caching)

    原文链接 6.1. 一般概念 HttpClient Cache提供了一个与HTTP / 1.1兼容的缓存层与HttpClient(浏览器缓存的Java等价物.)一起使用.该实现遵循责任链设计模式,其中 ...

  7. linux下删除已经不用的配置文件

    使用命令 dpkg -l | grep -v ^ii 查看当前未安装或者不用了的配置文件 例如我的显示如下

  8. https 多路复用的理解~转载

    https://segmentfault.com/q/1010000005167289 这里面的http/2连接是指tcp/ip层的连接还是http应用层(也就是我们平常在chrome F12 net ...

  9. 【Python学习笔记】使用Python进行主成分分析

    使用sklearn库中的PCA类进行主成分分析. 导入要用到的库,还没有的直接pip安装就好了. from sklearn.decomposition import PCA import numpy ...

  10. Android 6.0 Marshmallow root 方法

    android 6.0 已经推出 release 版本了, nexus 5,6,7,9 都放了官方镜像, 本篇文章使用 nexus 6 安装最新的 android 6.0 并进行root step 1 ...