运用NPOI操作EXCEL
一、引入NPOI程序集
下载地址:http://pan.baidu.com/s/1qWI3Vgo
二、运用NPOI导出成excel文件
protected void btnOutExcel_Click(object sender, EventArgs e)
{
HSSFWorkbook workbook = new HSSFWorkbook();//创建一个工作薄
ISheet sheet1 = workbook.CreateSheet("学员信息页");//创建一个sheet页
IRow rowHeader = sheet1.CreateRow();//创建第一行
//设置表头内容
rowHeader.CreateCell(, CellType.STRING).SetCellValue("ID");//创建第一行第一列的单元格,设定里面的值为ID
rowHeader.CreateCell(, CellType.STRING).SetCellValue("姓名");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("用户名");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("手机号");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("班级");
rowHeader.CreateCell(, CellType.STRING).SetCellValue("创建时间");
//设置数据内容
OpenDB();
string strSql = "select UserId,RealName,UserName,PhoneNum,Phase,CreatedTime from UserInfor";
using (cmd = new SqlCommand(strSql, con))
{
using (read = cmd.ExecuteReader())
{
int i = ;
while (read.Read())
{
i++;
IRow rowData = sheet1.CreateRow(i);
rowData.CreateCell(, CellType.STRING).SetCellValue(read["UserId"].ToString());//创建第一行第一列的单元格,设定里面的值为ID
rowData.CreateCell(, CellType.STRING).SetCellValue(read["RealName"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["UserName"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["PhoneNum"].ToString());
rowData.CreateCell(, CellType.STRING).SetCellValue(read["Phase"].ToString()); ICellStyle styledate = workbook.CreateCellStyle();
IDataFormat format = workbook.CreateDataFormat();
styledate.DataFormat = format.GetFormat("yyyy\"年\"m\"月\"d\"日\"");
ICell cellInDate = rowData.CreateCell(, CellType.NUMERIC);
cellInDate.CellStyle = styledate;
cellInDate.SetCellValue(read["CreatedTime"].ToString());
}
using (Stream stream = File.OpenWrite("e:/1.xls"))
{
workbook.Write(stream);
}
}
}
}
三、从excel文件里面导出数据
protected void btnFromExcel_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr><th>ID</th><th>姓名</th><th>用户名</th><th>手机号</th><th>班级</th><th>创建时间</th></tr>");
using (Stream stream = File.OpenRead("e:/1.xls"))
{
HSSFWorkbook workbook = new HSSFWorkbook(stream);
int j = workbook.GetSheetAt().LastRowNum;
for (int row = ; row <= j; row++)
{
sb.Append("<tr>");
sb.Append(string.Format("<td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td>", workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue, workbook.GetSheetAt().GetRow(row).GetCell().StringCellValue));
sb.Append("</tr>");
}
}
sb.Append("<table>");
Response.Write(sb.ToString());
}
运用NPOI操作EXCEL的更多相关文章
- NPOI操作Excel辅助类
/// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region ...
- NPOI操作excel之写入数据到excel表
在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...
- C#开发中使用Npoi操作excel实例代码
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...
- 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数 NPOI教程:http://www.cnb ...
- C# 如何使用NPOI操作Excel以及读取合并单元格等
C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单 ...
- 用NPOI操作EXCEL-锁定列CreateFreezePane()
public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkboo ...
- .NET 通过 NPOI 操作 Excel
目录 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助类 第三步:在程序中调用相应的方法对数据进行导出导入操作 将 D ...
- 2.6.2 用NPOI操作EXCEL--设置密码才可以修改单元格内容
2.6.2 用NPOI操作EXCEL--设置密码 有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完 ...
- 使用NPOI操作Excel文件及其日期处理
工作中经常遇到需要读取或导出Excel文件的情况,而NPOI是目前最宜用.效率最高的操作的Office(不只是Excel哟)文件的组件,使用方便,不详细说明了. Excel工作表约定:整个Excel表 ...
- C#通过NPOI操作Excel
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/w ...
随机推荐
- C# Dictionary用法总结
转自:http://www.cnblogs.com/linlf03/archive/2011/12/09/2282574.html http://www.cnblogs.com/linzheng/ar ...
- eclipse scons 使用指南
http://sconsolidator.com/projects/sconsolidator/wiki/Getting_Started Add SCons support to an existin ...
- 配置 dovecat 的 log
关于 dovecot 的日志配置,请检查 conf.d/10-logging.conf 文件, 特别需要提示的是将 错误/信息 文件分开保存,建议分别设置 log_path / info_log_pa ...
- Actions 动作集
--> 移动鼠标到指定位置(先触发onMouseOver动作) Actions action = new Actions(driver); WebElement th ...
- springMVC3学习(九)--redirect和forward跳转
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...
- mysql优化:连接数
有时候我们会遇见"MySQL: ERROR 1040: Too many connections"的异常,一种原因是訪问量过高,MySQLserver抗不住,这个时候就要考虑添加从 ...
- C#制作一个消息拦截器(intercept)1
首先,我们先要制作一个自己定义Attribute,让他能够具有上下文读取功能,所以我们这个Attribute类要同一时候继承Attribute和IContextAttribute. 接口IContex ...
- [AngularJS] Lazy loading Angular modules with ocLazyLoad
With the ocLazyLoad you can load AngularJS modules on demand. This is very handy for runtime loading ...
- C++输入输出流的重载
C++的流插入运算符“<<”和流提取运算符“>>”是C++在类库中提供的,所有C++编译系统都在类库中提供输入流类istream和输出流类ostream.cin和cout分别是 ...
- PAT 1003
1003. Emergency (25) As an emergency rescue team leader of a city, you are given a special map of yo ...