案例:用NPOI动态生成一个Excel表,然后弹出对话框让用户下载,文件名是"用户列表.xls" 先去相关网站下载 NPOI DLL文件,再引用
 
application/x-excel, application/octet-stream(不知道的类型都可用)
   context.Response.ContentType = "application/x-excel";    //设置返回类型
string name = HttpUtility.UrlEncode("用户列表.xls");
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + name);
HSSFWorkbook workbook = new HSSFWorkbook(); //创建 一个 Excel 表
HSSFSheet sheet = workbook.CreateSheet(); //创建 一个表
HSSFRow row = sheet.CreateRow(); //创建 第一行
HSSFRow row2 = sheet.CreateRow(); //创建 第二行
HSSFCell cell = row.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE); //创建单元格
cell.SetCellValue("ID"); // 第1行第1列值
row.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE).SetCellValue("姓名"); //第1行第2列值
row.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE).SetCellValue("年龄"); //第1行第3列值 row2.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE).SetCellValue(); // 第2行第1列值
row2.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE).SetCellValue("小高");// 第2行第2列值
row2.CreateCell(, HSSFCell.ENCODING_COMPRESSED_UNICODE).SetCellValue(); // 第2行第3列值
workbook.Write(context.Response.OutputStream); //写入到输出流中

然后在HTML页面中调用 <a href="down.asxh">Excel下载</a>

案例:将数据库的内容导入到Excel表中,让用户下载
  context.Response.ContentType = "application/x-excel";
string name = HttpUtility.UrlEncode("用户列表.xls");
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + name); HSSFWorkbook workbook = new HSSFWorkbook(); //先创建Excel文件
HSSFSheet sheet = workbook.CreateSheet(); //先创建一张表 using (SqlConnection conn = new SqlConnection("server=.;database=mytest;uid=sa;pwd=gao;"))
{
conn.Open();
   IDbCommand cmd = conn.CreateCommand(); //IDbCommand 是一个接口,用 SqlCommand 一样
cmd.CommandText = "select username,passwd from mydo";
   IDataReader dr = cmd.ExecuteReader(); //IDataReader 也是个接口,用 SqlDataReader 一样
int rownum = ; //定义一个变量,用来操作行数
while (dr.Read())
{
string UserName =Convert.ToString(dr["username"]); //取得用户名
string Password = Convert.ToString(dr["passwd"]); //取得密码
HSSFRow row = sheet.CreateRow(rownum); //创建一行,以 rownum 为准 row.CreateCell(, HSSFCellType.STRING).SetCellValue(UserName); //第一列为 用户名
row.CreateCell(, HSSFCellType.STRING).SetCellValue(Password); //第二列为 密码
rownum++; //行数变量自增,即可实现自动插入下一行
}
}
workbook.Write(context.Response.OutputStream); //将Excel表写入到输出流中

使用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. Redis_php 学习

    转载内容: PhpRedis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧: Redis::__construct构造函数 1 ...

  2. [struts2]struts结合ECharts的用法

    <script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script> < ...

  3. C++下字符串转换

    引用自:http://blog.sina.com.cn/s/blog_a98e39a20101ari9.html 把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充: 1.str ...

  4. weapon制作武器

    weapon制作武器 (weapon.pas/c/cpp) 解题报告 制作武器weapon.pas/c/cpp) 背景 WZland的紧急避难所很快就建好了,WZland的居民们陆续地来到这个紧急避难 ...

  5. javabean以及内省技术详解(转)

    一.关于javabean javabean是固定写法的java类 书写格式为: 1)必须有无参构造函数 2)属性必须私有, 我们称为字段 3)提供标准的getter和setter 例: name 字段 ...

  6. JAVA基础入门

    Java入门基础 1.IDE->Eclipse 新建程序步骤 1.创建一个Java项目 2.创建一个包(package) 也就相当于C#中的命名空间C++中的头文件 3.创建一个类 这样就完成了 ...

  7. Dragons

    http://codeforces.com/problemset/problem/230/A Dragons time limit per test 2 seconds memory limit pe ...

  8. velocity-字母序号 list

    版权声明:本文为博主原创文章,未经博主允许不得转载. [需求] 遍历一个list,同时需要在每个item前面显示字母序号,例如A,B,C,D [代码] #set($zimu = ["A&qu ...

  9. android110 jni01

    ##交叉编译(编译就是编译成汇编指令,使得电脑能够识别,比如windows平台模拟linux平台编译出来得程序可以在linux上运行.) * 在一个平台下,编译出另一个平台能够执行的二进制的代码 * ...

  10. Java常见异常总结

    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...