转载:NPOI导出到Excel表格
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表格的更多相关文章
- Python实现数据库一键导出为Excel表格
依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为ex ...
- 关于 NPOI 导出的 Excel 出现“部分内容有问题” 的解决方法
近期发现使用 NPOI 导出的 Excel 文件,有部分用户反映在打开时报错,测试了一下,发现在低版本的 Office 中(2003版,配合2007格式兼容包)打开正常,但在高版本 Office 中, ...
- java连接MongoDB查询导出为excel表格
背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计 ...
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...
- 用Java导出为excel表格
导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...
- 如何使用NPOI 导出到excel和导入excel到数据库
近期一直在做如何将数据库的数据导出到excel和导入excel到数据库. 首先进入官网进行下载NPOI插件(http://npoi.codeplex.com/). 我用的NPOI1.2.5稳定版. 使 ...
- 使用Aspose插件将程序中的表格,导出生成excel表格
http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...
- mysql数据库表格导出为excel表格
在本地数据库中操作如下: 由于excel表格的编码是GBK,所以导出时要加一个设置字符编码: select * from 某个表 into outfile 'd:/文件名.xls' CHARACTER ...
- asp.net数据导出到excel表格,并设置表格样式
1.首先在项目中添加引用
随机推荐
- cf div2 238 c
C. Unusual Product time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- 使用git了解代码编写过程
在看教程时,有的老师会将代码放到github,如果不想跟着视频一步一步来,那就直接clone整个代码,但整个看着又有点蒙,那就使用版本切换的功能了. 首先 git clone 下载下来 git log ...
- ios图片拉伸两种方法
UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image. ...
- Unix安装BerkeleyDB
下载安装包Berkeley DB 5.3.21.tar.gz http://www.oracle.com/technetwork/products/berkeleydb/downloads/index ...
- C# 与C/C++相互调用
C++调用C#的DLLhttp://www.csharpwin.com/csharpspace/11385r8940.shtml C#调用C/C++动态库必须注意的几个问题http://www.rob ...
- 无线Ad-hoc网络的关键技术之路由(转)
无线Ad-hoc网络的关键技术之路由http://network.51cto.com/art/201003/189719.htm
- 华为OJ:字符串加解密
题目描述 1.对输入的字符串进行加解密,并输出. 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B:字母Z时则替换为a: 当内容是数字时则把该 ...
- JLink v8克隆版破解向导(此方法仅适用XP32位版 WIN7及以上和64位均不支持 建议使用虚拟机)
此方法仅适用XP32位版 WIN7及以上和64位均不支持 建议使用虚拟机 摘要 Jlink 4.5版本之后驱动会识别老的克隆版的JlinkV8,Jlink软件在启动时会提示为克隆版本后退出.目前主流的 ...
- android-exploitme(五):不安全的数据存储
今天我来看看如果android将数据存储在sdcard,它的权限是什么样的 1. 打开emm软件,做一笔转账.
- 替换应用程序exe图标,主要使用BeginUpdateResource,UpdateResource API函数
替换应用程序exe图标,主要使用的API函数是BeginUpdateResource(),UpdateResource(),EndUpdateResource()来使用自定义的ico文件类替换exe程 ...