//导出全部

  expertPara = GetExpetPara();

  expertPara.BeginIndex = pager.CurrentPageIndex;

  expertPara.EndIndex = int.MaxValue;

  DataSet ds = ExpertBLL.GetPriMngExpertDate(expertPara);

  DataTable dt = ds.Tables[0];

  //判断加载哪个模板

  string tempath = "~/Templates/专家录入管理表.xls";

  //1、获取数据。

  using (FileStream file = new FileStream(HttpContext.Current.Server.MapPath(tempath), FileMode.Open, FileAccess.Read))

  {

  string ReportFileName = Server.MapPath("out.xls");

  HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);

  HSSFSheet sheet1 = hssfworkbook.GetSheetAt(0) as HSSFSheet;

  sheet1.ForceFormulaRecalculation = true;

  sheet1.IsPrintGridlines = true;

  sheet1.DisplayGridlines = true;

  HSSFCellStyle _style = sheet1.Workbook.CreateCellStyle() as HSSFCellStyle;

  _style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;

  _style.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;

  int rowIndex = 0;

  {

  rowIndex = 2;

  int i = 1;

  foreach (DataRow row in ds.Tables[0].Select())

  {

  int cellIndex = 0;

  HSSFRow fr = GetRow(sheet1, rowIndex++);

  GetCell(fr, cellIndex++, _style).SetCellValue(i.ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_Name"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(DelHTML(row["C_Sex"].ToString()));

  GetCell(fr, cellIndex++, _style).SetCellValue(DelHTML(row["C_WorkUnit"].ToString()));

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_expert_type"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_position"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_title"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_Tel"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_BusinessOutlets"].ToString());

  GetCell(fr, cellIndex++, _style).SetCellValue(row["C_BankAccount"].ToString());

  i++;

  }

  sheet1.ForceFormulaRecalculation = true;

  using (FileStream filess = File.OpenWrite(ReportFileName))

  {

  hssfworkbook.Write(filess);

  }

  System.IO.FileInfo filet = new System.IO.FileInfo(ReportFileName);

  Response.Clear();

  Response.Charset = "GB2312";

  Response.ContentEncoding = System.Text.Encoding.UTF8;

  // 添加头信息,为"文件下载/另存为"对话框指定默认文件名

  string name = DateTime.Now + ".xls";

  Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(name));

  // 添加头信息,指定文件大小,让浏览器能够显示下载进度

  Response.AddHeader("Content-Length", filet.Length.ToString());

  // 指定返回的是一个不能被客户端读取的流,必须被下载

  Response.ContentType = "application/ms-excel";

  // 把文件流发送到客户端

  Response.WriteFile(filet.FullName);

  // 停止页面的执行

  Response.End();

  }

  }

  复制代码

  (编辑:雷林鹏 来源:网络)

[.NET开发] NPOI导出的更多相关文章

  1. .net使用NPOI的XSSFWorkbook进行web开发中导出Excel

    之前也使用过NPOI导出excel,这次是因为在导出的excel里新增了几个列,正好超出了255的限制,所以又要改了. 今天主要出了4个问题: 1. Invalid column index (256 ...

  2. .NET NPOI导出Excel详解

    NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件. 支持的文件格式包括xls, ...

  3. 分享使用NPOI导出Excel树状结构的数据,如部门用户菜单权限

    大家都知道使用NPOI导出Excel格式数据 很简单,网上一搜,到处都有示例代码. 因为工作的关系,经常会有处理各种数据库数据的场景,其中处理Excel 数据导出,以备客户人员确认数据,场景很常见. ...

  4. NPOI导出Excel示例

    摘要:使用开源程序NPOI导出Excel示例.NPOI首页地址:http://npoi.codeplex.com/,NPOI示例博客:http://tonyqus.sinaapp.com/. 示例编写 ...

  5. asp.net Mvc Npoi 导出导入 excel

    因近期项目遇到所以记录一下: 首先导出Excel : 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// < ...

  6. .NET Core使用NPOI导出复杂,美观的Excel详解

    前言: 这段时间一直专注于数据报表的开发,当然涉及到相关报表的开发数据导出肯定是一个不可避免的问题啦.客户要求要导出优雅,美观的Excel文档格式的来展示数据,当时的第一想法就是使用NPOI开源库来做 ...

  7. NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters

    /******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...

  8. 基于NPOI导出和导入Excel

    概述 NPOI,顾名思义,就是POI的.NET版本.NPOI就是用.NET语言编写的一套数据导出Excel的开源项目,支持XML.xls.xlsx.ppt等格式..NET不仅实现Excel导出还可以实 ...

  9. (C#)使用NPOI导出Excel

    在做业务型的软件时,经常需要将某些数据导出,本文介绍了在Winform或Asp.net中使用NPOI(POI 项目的 .NET 版本)来操作Excel文件,而无需安装Office. 首先,需要获取NP ...

随机推荐

  1. ArcGIS 10——版本编辑流程

    上一篇文章学习了ArcGIS有关版本机制实现的基本原理,本文结合ArcGIS的数据编辑知识来将版本编辑.协调.解决冲突.提交更改的整个过程加以说明. 同上篇文章一样,写作本文的初始意图是因为目前的项目 ...

  2. python 处理xml

    XML XML指可扩展标记语言(Extensible Markup Language) XML被设计用于结构化.存储和传输数据 XML是一种标记语言,很类似于HTML XML没有像HTML那样 ...

  3. java commons.lang3 ArrayUtils使用

    java commons.lang3 ArrayUtils使用import org.apache.commons.lang3.ArrayUtils; /** *数组追加数组,不重复 */ public ...

  4. Contiki源码+原理+功能+编程+移植+驱动+网络(转)

    源:Contiki源码+原理+功能+编程+移植+驱动+网络 请链接:http://www.rimelink.com/nd.jsp? id=31&_np=105_315 假设您对于用Contik ...

  5. 04: linux基础总结

    目录: 1.1 Red Hat Linux 安装及服务控制 1.2 目录和文件管理 1.3 安装及管理程序 1.4 账号和权限管理 1.5 磁盘和文件管理 1.6 进程和计划任务管理 1.7 Linu ...

  6. define和typedef

    #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错. 所以define后加分号,不然会把分号也会一 ...

  7. Problem F: 等式

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 104  Solved: 22[Submit][Status][Web Board] Descriptio ...

  8. C++写入mbr

    #include <windows.h> #include <winioctl.h> unsigned char scode[] = "\xb8\x12\x00\xc ...

  9. git如何获取用户名和邮箱

    答: git config user.name  (获取用户名)   git config user.email (获取邮箱)

  10. linux内核启动参数解析及添加

    1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x ...