//导出全部

  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. MacaW Baby Learns Computer

    A - Macaw Baby Learns Computer Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  2. [Data Access] ORM 原理 (11): 效能議題

    這絕對是 ORM 的使用者,開發人員與 DBAs 共同想要問的議題,到底我使用了 ORM 和使用傳統的 ADO.NET 下 SQL 指令的方式會差多少? 這個問題不但會發生在 Entity Frame ...

  3. pm2 观察报错时 pm2 start app.js --watch

    pm2 start app.js --watch[PM2][ERROR] Script already launched, add -f option to force re-execution

  4. ajax请求为异步操作时,返回的数据不会被并列函数执行

    ajax请求为异步操作时,返回的数据不会被并列函数执行

  5. 查看.mobileprovision 详细信息

    .mobileprovision 用诸如sublime 等工具是无法打开. 可以通过shell命令查看: security cms -D -i 某某.mobileprovision

  6. Linux中编写Bash脚本的10个技巧

    Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式.尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能. 本文中,我们将分享 ...

  7. 根据wsdl,apache cxf的wsdl2java工具生成客户端、服务端代码

    根据wsdl,apache cxf的wsdl2java工具生成客户端.服务端代码 apache cxf的wsdl2java工具的简单使用: 使用步骤如下: 一.下载apache cxf的包,如apac ...

  8. Eclipse中把Java工程修改成web工程

    Eclipse中把Java工程修改成web工程 点击项目:右击:选择properties--输入project facets,将“Dynamic Web Module”打勾即可:

  9. leetcode 136 Single Number, 260 Single Number III

    leetcode 136. Single Number Given an array of integers, every element appears twice except for one. ...

  10. 20145122《Java程序设计》第七周学习总结

    教材学习内容总结 1.在只有Lambda表达式的情况下,参数的类型必须写出来. 2.Lambda表达式本身是中性的,同样的Lambda表达式可用来表示不同目标类型的对象操作. 3.Lambda表达式只 ...