NPOI开发包下载:http://pan.baidu.com/share/link?shareid=4025220936&uk=2837994235

需要命名空间
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
先简单介绍下NPOI,Workbook工作簿,Sheet页,row行,cell:单元格;这些名字都是有用的,
首先为什么要用的NPOI呢?这是因为,它效率比较高点,而且可以完全脱离Excel表格软件直接可以导出,方便吧,以前的(就不解释了)需要本地安装Excel表格软件,需要软件支持,版本不同还不行,所以,很受限制的,这个就不需要了,导入NPOI.dll程序集,就可以对想要的数据导出格式为.xls的了,不需要本地另外安装,方便多了,好了,不多说了,看例子:
        HSSFWorkbook hssfworkbook = new HSSFWorkbook();//实例化一个表格
            ISheet sheet1 = hssfworkbook.CreateSheet("俺的第一页");//创建Excel的一页
            IRow rowHeader = sheet1.CreateRow(0);//创建表头,就是Excel中的第一行
            rowHeader.CreateCell(0, CellType.STRING).SetCellValue("姓名");//Excel中的第一行
            rowHeader.CreateCell(1, CellType.STRING).SetCellValue("年龄");
            rowHeader.CreateCell(2, CellType.STRING).SetCellValue("性别");
            IRow row2 = sheet1.CreateRow(1);//从Excel第二行,就开始是真正的数据啦
            row2.CreateCell(3, CellType.STRING).SetCellValue("啦啦啦");//这是在Excel中的第1行第3列
            using (Stream stream = File.OpenWrite("d:/1.xls"))
            {
                hssfworkbook.Write(stream);
            }
来看看导出的是什么样子的?----
//这里面有点注意的是:日期格式的比较特殊,需要另加处理,
//日期类型,日期类型比较特殊
                //row.CreateCell(4, CellType.NUMERIC).SetCellValue(2013-10-10);//这样是不行的,好,继续,底下多弄几条数据好好感受下
                ICellStyle styledate = hssfworkbook.CreateCellStyle();//指定格式
                IDataFormat format = hssfworkbook.CreateDataFormat();
                //格式具体有哪些请看单元格右键中的格式,有说明
                styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");
                List<ICell> cellInDate = new List<ICell>();
                cellInDate.Add(row.CreateCell(8, CellType.NUMERIC));//出生日期
                cellInDate.Add(row.CreateCell(9, CellType.NUMERIC));//入职日期
                cellInDate.Add(row.CreateCell(18, CellType.NUMERIC));//合同起始时间
                cellInDate.Add(row.CreateCell(19, CellType.STRING));//合同结束时间
                for (int j = 0; j < cellInDate.Count; j++)
                {
                    cellInDate[j].CellStyle = styledate;
                    if (j == 0)
                    {
                        cellInDate[j].SetCellValue(employee.BirthDay);//出生日期,这些都是自己定义的,员工的出生日期
                    }
                    else if (j == 1)
                    {
                        cellInDate[j].SetCellValue(employee.InDate);//入职日期
                    }
                    else if (j == 2)
                    {
                        cellInDate[j].SetCellValue(employee.ContractStartDay);//合同起始时间
                    }
                    else if (j == 3)
                    {
                        cellInDate[j].SetCellValue(employee.ContractEndDay);//合同结束时间

                    }

转载:NPOI导出到Excel表格的更多相关文章

  1. Python实现数据库一键导出为Excel表格

    依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为ex ...

  2. 关于 NPOI 导出的 Excel 出现“部分内容有问题” 的解决方法

    近期发现使用 NPOI 导出的 Excel 文件,有部分用户反映在打开时报错,测试了一下,发现在低版本的 Office 中(2003版,配合2007格式兼容包)打开正常,但在高版本 Office 中, ...

  3. java连接MongoDB查询导出为excel表格

    背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计 ...

  4. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

  5. 用Java导出为excel表格

    导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...

  6. 如何使用NPOI 导出到excel和导入excel到数据库

    近期一直在做如何将数据库的数据导出到excel和导入excel到数据库. 首先进入官网进行下载NPOI插件(http://npoi.codeplex.com/). 我用的NPOI1.2.5稳定版. 使 ...

  7. 使用Aspose插件将程序中的表格,导出生成excel表格

    http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...

  8. mysql数据库表格导出为excel表格

    在本地数据库中操作如下: 由于excel表格的编码是GBK,所以导出时要加一个设置字符编码: select * from 某个表 into outfile 'd:/文件名.xls' CHARACTER ...

  9. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

随机推荐

  1. sql盲注及其相关方法

    Sql注入过程数据(后台数据不能回显到页面)不回显采用方法 1:构造逻辑判断 ▲left(database(),1)>’s’             //left()函数 ▲and ascii( ...

  2. NODEjs常见错误检查

    一.没有添加对uncaughtException异常的捕捉处理,最起码也要在其中写个日志记录错误,然后可以调用 process.exit(1); 退出进程. 二.处理函数的回调函数检查,经常忘记在回调 ...

  3. Python异步IO --- 轻松管理10k+并发连接

    前言   异步操作在计算机软硬件体系中是一个普遍概念,根源在于参与协作的各实体处理速度上有明显差异.软件开发中遇到的多数情况是CPU与IO的速度不匹配,所以异步IO存在于各种编程框架中,客户端比如浏览 ...

  4. NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言   当管理大量连接时,特别 ...

  5. OleDbType.Decimal在插入DB2后会默认赋值0.00,改为OleDbType.Double则正常

    private void InsertShopClaimsTarget(ContinueTargetData.RT_SHOPCLAIMSTARGETRow aRow) { StringBuilder ...

  6. struct 理解 (需要经常理解)

    2014.3.11 分析offviewer时,有一些问题,很基础的,但是忘记了,发现问题那就快点搞定它 以下内容参考自百度百科: (2)struct 结构体有点忘记了,要复习一下  定义一个结构的一般 ...

  7. poj 3255(次短路)

    题目链接:http://poj.org/bbs?problem_id=3255 思路:分别以源点1和终点N为源点,两次SPFA求得dist1[i](1到各点的最短距离)以及dist2[i](各点到N的 ...

  8. Linux:chmod -R 777 * 是什么意思?

    首先,chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符.777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其 ...

  9. [RM HA3] Zookeeper在RM HA的应用

    [RM HA3] Zookeeper在RM HA的应用 RM HA(ResourceManager  HighAvailability)中使用Zookeeper的地方在ZKRMStateStore和Z ...

  10. lintcode:打劫房屋II

    题目 打劫房屋II 在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的.每个房子都存放着特定金额的钱.你面临的唯一约 ...