zoukankan      html  css  js  c++  java
  • [.NET开发] NPOI导出

      //导出全部

      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();

      }

      }

      复制代码

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

  • 相关阅读:
    LeetCode 第 193 场周赛
    LeetCode 每日一题 15. 三数之和
    LeetCode 每日一题 739. 每日温度
    [转]邹承鲁院士写他是如何读文献
    LeetCode 每日一题 面试题46. 把数字翻译成字符串
    LeetCode 每日一题 990. 等式方程的可满足性
    传说中编程界的龙书、虎书、鲸书、魔法书…… 指的都是哪些?
    LeetCode 每日一题 238. 除自身以外数组的乘积
    C++ 关键字 explicit
    LeetCode 每日一题 837. 新21点
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9212150.html
Copyright © 2011-2022 走看看