一、引入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());
}

demo下载

运用NPOI操作EXCEL的更多相关文章

  1. NPOI操作Excel辅助类

    /// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region ...

  2. NPOI操作excel之写入数据到excel表

    在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; u ...

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

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

  4. 用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 ...

  5. C# 如何使用NPOI操作Excel以及读取合并单元格等

    C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单 ...

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

    public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkboo ...

  7. .NET 通过 NPOI 操作 Excel

    目录 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助类 第三步:在程序中调用相应的方法对数据进行导出导入操作 将 D ...

  8. 2.6.2 用NPOI操作EXCEL--设置密码才可以修改单元格内容

    2.6.2 用NPOI操作EXCEL--设置密码       有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完 ...

  9. 使用NPOI操作Excel文件及其日期处理

    工作中经常遇到需要读取或导出Excel文件的情况,而NPOI是目前最宜用.效率最高的操作的Office(不只是Excel哟)文件的组件,使用方便,不详细说明了. Excel工作表约定:整个Excel表 ...

  10. C#通过NPOI操作Excel

    参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/w ...

随机推荐

  1. Bootstrap 列偏移\列嵌套\列排序

    1.列偏移 这个其实很简单就是通过一个样式类,通过.col-md-offset-*可以将列偏移到右侧.这些class通过使用*选择器将所有列增加了列的左侧margin.例如,.col-md-offse ...

  2. JdbcTemplate增删改查

    1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...

  3. 谈谈C#基元类型

    首先看一下.NET 中的基元类型,如下表: C# Type | .NET Framework Type -------------| ---------------------- bool | Sys ...

  4. UVa839 Not so Mobile

      我的解法: 建树,递归判断 #include<cstdio> #include<cstring> #include<iostream> #include< ...

  5. 一个无聊的实验:验证网站是否通过web容器还是微服务部署

    一般来说一台web服务器会部署多个实例(且共享80端口),举个栗子例如nginx通常部署多个站点,每个站点都有自己的端口 例如 8091,8092之类的. 通过nginx进行代理.(前提微服务直接使用 ...

  6. codeforces GYM 100114 J. Computer Network tarjan 树的直径 缩点

    J. Computer Network Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Des ...

  7. MyBatis之三:多表联合查询

    在这篇文章里面主要讲解如何在mybatis里面使用一对一.一对多.多表联合查询(类似视图)操作的例子. 注:阅读本文前请先大概看一下之前两篇文章. 一.表结构 班级表class,学生表student, ...

  8. Java和C#在面向对象上语法的区别

    做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材 ...

  9. iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)

    Stroke-描边 影响描边的因素 线的宽度-CGContextSetLineWidth 交叉线的处理方式-CGContextSetLineJoin 线顶端的处理方式-CGContextSetLine ...

  10. Metadata Lock原理4

     http://blog.chinaunix.net/uid-28212952-id-3400571.html    Alibaba  今天发生一个故障,MM复制结构(主备库),备库slave del ...