//添加引用 NPOI.dll

//添加 using NPOI.HSSF.UserModel;

/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="returnMsg"></param>
/// <returns></returns>
public bool ExportOrderToExcel(ref string returnMsg)
{
  try
    {
      DataSet dt = "SQL语句返回dataset数据集";
      int rowIndexS = 0; //表格总行
      if(dt!=null && dt.Tables.Count > 0 && dt.Tables[0].Rows.Count > 0)
        {
          HSSFWorkbook workbook = new HSSFWorkbook();
          HSSFSheet sheet1 = (HSSFSheet)workbook.CreateSheet("工作簿名称");
          HSSFRow headerRow1 = (HSSFRow)sheet1.CreateRow(0);
          HeadControl(headerRow1); //行名称
          foreach (DataRow dr in dt.Tables[0].Rows)
          {
            rowIndexS++;
            HSSFRow dataRow = (HSSFRow)sheet1.CreateRow(rowIndexS);
            OrderFill(dataRow, dr); //填充数据
          }
          //保存
          string path = "/FileRoot/temp/";//文件保存路径
          string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls"; //文件名已时间命名
          path += fileName;
          System.IO.FileStream file = new System.IO.FileStream(HttpContext.Current.Server.MapPath(path), System.IO.FileMode.Create);
          workbook.Write(file);
          //关闭文件,释放对象
          file.Close();
          workbook = null;
          returnMsg =path;//返回文件路径
          return true;
        }
        else
        {
          returnMsg = "没有查到要导出的数据!";
          return false;
        }
      }
    catch (Exception)
    {
      returnMsg = "导出数据失败!";
      return false;
    }
  }

/// <summary>
/// 填充报表数据
/// </summary>
/// <param name="dataRow"></param>
/// <param name="dr"></param>
public void OrderFill(HSSFRow dataRow, DataRow dr)
{
  dataRow.CreateCell(0).SetCellValue(dr["字段名"].ToString()); 
  dataRow.CreateCell(1).SetCellValue(dr["字段名"].ToString()); 
  dataRow.CreateCell(2).SetCellValue(dr["字段名"].ToString()); 
  dataRow.CreateCell(3).SetCellValue(dr["字段名"].ToString()); 
  dataRow.CreateCell(4).SetCellValue(dr["字段名"].ToString()); 
  dataRow.CreateCell(5).SetCellValue(dr["字段名"].ToString()); 
}
/// <summary>
/// 导出已支付订单的表头
/// </summary>
/// <param name="headerRow"></param>
public void HeadControl(HSSFRow headerRow)
{
  headerRow.CreateCell(0).SetCellValue("列名");
  headerRow.CreateCell(1).SetCellValue("列名");
  headerRow.CreateCell(2).SetCellValue("列名");
  headerRow.CreateCell(3).SetCellValue("列名");
  headerRow.CreateCell(4).SetCellValue("列名");
  headerRow.CreateCell(5).SetCellValue("列名");
}

附件:NOPI.DLL下载链接 http://files.cnblogs.com/a-mumu/NPOI.zip

C# 将dataset数据导出到excel中的更多相关文章

  1. asp.net DataSet数据导出到Excel中

    方法: [STAThread]///这是必须的    public override void VerifyRenderingInServerForm(System.Web.UI.Control co ...

  2. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  3. 如何将存储在MongoDB数据库中的数据导出到Excel中?

    将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...

  4. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!

    一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...

  5. 将datagrid中数据导出到excel中 -------<<工作日志2014-6-6>>

    前台datagrid数据绑定 #region 导出到excel中    /// <summary>    /// 2014-6-6    /// </summary>    / ...

  6. Magic xpa 3.x很容易将数据导出到Excel中

    Magic xpa 3.x很方便的将表中数据导出到Excel文件中,还可以自动将表中数据生成各种图表. 通过使用自带的打印数据内部事即可实现. 1.首先将打印数据任务属性设置为“是”. 2.可使用主程 ...

  7. 数据导出到Excel中

    自己修改后的一个数据导出到Excel的方法,粘出来与大家共享. 只需要将             System.Web.HttpContext.Current.Response.Charset =   ...

  8. dataset数据导出到Excel

    1.将数据写入HTTP输出流/这样子导出以后的数据全在一行中 public void CreateExcel(DataSet ds, string FileName) { HttpResponse r ...

  9. DataSet数据导出为Excel文档(每个DataTable为一个Sheet)

    Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...

随机推荐

  1. Centos7,PHP7安装swoole

    Swoole详细介绍及如何使用,这里暂时不做说明,可以参考一下文档:https://wiki.swoole.com/ 源码编译安装 下载地址如下: https://github.com/swoole/ ...

  2. linux如何把普通用户添加到sudo组

    sudo原理:运行命令时,系统检查/etc/sudoers 配置文件,看这个用户是否有执行sudo的权限,如果有权限,系统要求输入用户自己的密码,如果密码输入正确,系统会以root身份运行 passw ...

  3. html+css入门基础案例之圣诞那些事

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. solr综合案例

    1.  综合案例 1.1. 需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序,并且实现分页功能. 界面如下: 1.2分析 开发人员需要的 ...

  5. Servlet中关于中文乱码

    一.客户端请求服务器的数据有乱码 1.get方式请求 ①修改tomcat/conf/server.xml,在<Connector> 标签中添加属性useBodyEncodingForURI ...

  6. 基础篇:深入解析JAVA反射机制

    目录 反射的概念 获取Class的三种方法 JAVA反射API 反射机制应用的场景 反射和JDK动态代理 欢迎指正文中错误 关注公众号,一起交流 参考文章 反射的概念 java的放射机制:在程序运行时 ...

  7. 免费开源工作流Smartflow-Sharp v2.0

    @font-face { font-family: 宋体 } @font-face { font-family: "Cambria Math" } @font-face { fon ...

  8. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  9. 【漏洞复现】S2-052 (CVE-2017-9805)

    一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...

  10. .net网站自动化部署-致两年前的遗留的问题

    又到一年国庆,终于有了难得的几天空闲,计划陪陪媳妇娃子,再把最近阅读的几本相关书总结梳理下.当然,计划总是美好的,于时接到了一个老朋友电话.大意是他搞了一个.net小网站,部署了4个节点,每次更新程序 ...