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

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

案例:将数据库的内容导入到Excel表中,让用户下载
  1.   context.Response.ContentType = "application/x-excel";
  2. string name = HttpUtility.UrlEncode("用户列表.xls");
  3. context.Response.AddHeader("Content-Disposition", "attachment;filename=" + name);
  4.  
  5. HSSFWorkbook workbook = new HSSFWorkbook(); //先创建Excel文件
  6. HSSFSheet sheet = workbook.CreateSheet(); //先创建一张表
  7.  
  8. using (SqlConnection conn = new SqlConnection("server=.;database=mytest;uid=sa;pwd=gao;"))
  9. {
  10. conn.Open();
  11.    IDbCommand cmd = conn.CreateCommand(); //IDbCommand 是一个接口,用 SqlCommand 一样
  12. cmd.CommandText = "select username,passwd from mydo";
  13.    IDataReader dr = cmd.ExecuteReader(); //IDataReader 也是个接口,用 SqlDataReader 一样
  14. int rownum = ; //定义一个变量,用来操作行数
  15. while (dr.Read())
  16. {
  17. string UserName =Convert.ToString(dr["username"]); //取得用户名
  18. string Password = Convert.ToString(dr["passwd"]); //取得密码
  19. HSSFRow row = sheet.CreateRow(rownum); //创建一行,以 rownum 为准
  20.  
  21. row.CreateCell(, HSSFCellType.STRING).SetCellValue(UserName); //第一列为 用户名
  22. row.CreateCell(, HSSFCellType.STRING).SetCellValue(Password); //第二列为 密码
  23. rownum++; //行数变量自增,即可实现自动插入下一行
  24. }
  25. }
  26. 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. CentosX64使用yum快速搭建xen虚拟化环境

    Xen的大名想必已经被众SA所熟知.Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达100个满特征的操作系统.操作系统必须进行显式地修改(“移植”)以在Xen上运行( ...

  3. hdu 2102 A计划(优先队列+dfs)

    改了好久,上午来实验室打出来了,运行就是不对,一直找啊找!还是没找到,最后突然停电了,打好的代码还没保存呢! 刚才来的时候又重新打了一遍!!!结果一个小小的错误wrong了好久!!! 在dfs值返回时 ...

  4. Node.js学习(14)----EJS模板引擎

    这个入门教程将从以下几个方面来讲解: 1. 引入EJS 2. 创建一个模板 3. 使用视图工具组件 4. 使用错误处理组件 5. 什么情况下应使用EJS 引入EJS 在我们正式开始前,我们先来做点准备 ...

  5. SQL SERVER全面优化

    今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的!为了方便阅读给出前文链接: SQL SERVER全面优化-------Expert for SQL Ser ...

  6. nginx redis tomcat 分布式web应用 session共享

    目标:多台tomcat 使用redis实现共享session.redis的安装请参阅:centos上安装redis nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.w ...

  7. 软中断&amp;tasklet&amp;工作队列

    软中断 软中断的分配时静态的(即在编译时定义),而tasklet的分配和初始化能够在执行时进行. 软中断(即便是同一种类型的软中断)能够并发地运行在多个CPU上. 因此,软中断是可重入函数并且必须明白 ...

  8. 秋叶PPT-三分钟教程

    http://yuedu.baidu.com/ebook/0596e5f858f5f61fb73666be <说服力-让你的PPT会说话>原创PPT分享 http://www.docin. ...

  9. FragmentTransactionExtended

    https://github.com/DesarrolloAntonio/FragmentTransactionExtended

  10. java 5 ReadWriteLock

    import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.ReadWriteLock; ...