案例:用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. SecureCRT中文乱码解决方法

    在windows下使用SecureCRT访问MAC主机,发现中文总是乱码.而且默认会话选项设置的字符编码就是UTF-8,和MAC主机默认字符编码一样. 后来通过设置,解决了中文乱码问题. 具体使用了两 ...

  2. java中的"goto"--label

    java中没有goto,但是goto是保留字.例如int goto;是不合法的. 但是java中有标签,仅作用在多重循环的continue和break中. continue和break只能作用于本层循 ...

  3. Redis以及Redis的php扩展安装无错版

    安装Redis 下载最新的 官网:http://redis.io/  或者  http://code.google.com/p/redis/downloads/list 第一步:下载安装编译 #wge ...

  4. Sql FAQ

    1.查询结果根据条件翻译成其他值 then '及格' else '不及格' end from S_STUDENT then '及格' else '不及格' end from S_STUDENT 2.s ...

  5. hdoj 3549 Flow Problem【网络流最大流入门】

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  6. mysql字符串分割函数(行转列)

    由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了 )) ) BEGIN /*函数功能: 把带逗号的字符串分割取出 参数: num 要 ...

  7. 用mac自带的safari浏览器下载excel文件后面自带了.exe后缀

    将 Content-Type 设为 application/vnd.ms-excel

  8. cocos2d-x jsb + cocosbuider 适配iphone5 尺寸

    最简单的适配iphone5的方案,应该算是直接用一块图片补上多出来的区域了: 1:Iphone5分辨率为 1136* 640 , 需要在cocosbuilder中将ccb修改为对应的尺寸: Docum ...

  9. 标准I/O库之每次一行I/O

    下面两个函数提供每次输入一行的功能. #include <stdio.h> char *fgets( char *restrict buf, int n, FILE *restrict f ...

  10. 台湾书籍代购网址——2013-08-25 16

    台湾书籍代购 博客来http://www.books.com.tw 三民http://www.sanmin.com.tw 诚品http://www.eslite.com 金石堂http://www.k ...