欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

ASP.NET使用GridView导出Excel实现方法

时间:2021-03-24 10:31:04|栏目:.NET代码|点击:

本文实例讲述了ASP.NET使用GridView导出Excel实现方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
/// <summary> 
/// 将DataTable数据导出到EXCEL,调用该方法后自动返回可下载的文件流 
/// </summary> 
/// <param name="dtData">要导出的数据源</param> 
public static void DataTable1Excel(System.Data.DataTable dtData) 

        System.Web.UI.WebControls.GridView gvExport = null; 
        // 当前对话 
        System.Web.HttpContext curContext = System.Web.HttpContext.Current; 
        // IO用于导出并返回excel文件 
        System.IO.StringWriter strWriter = null; 
        System.Web.UI.HtmlTextWriter htmlWriter = null; 
 
        if (dtData != null) 
        { 
            // 设置编码和附件格式 
            curContext.Response.ContentType = "application/vnd.ms-excel"; 
            curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); 
            curContext.Response.Charset = "utf-8"; 
 
            // 导出excel文件 
            strWriter = new System.IO.StringWriter(); 
            htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); 
            // 为了解决gvData中可能进行了分页的情况,需要重新定义一个无分页的GridView 
            gvExport = new System.Web.UI.WebControls.GridView(); 
            gvExport.DataSource = dtData.DefaultView; 
            gvExport.AllowPaging = false; 
            gvExport.DataBind(); 
 
            // 返回客户端 
            gvExport.RenderControl(htmlWriter); 
            curContext.Response.Write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />" + strWriter.ToString()); 
            curContext.Response.End(); 
        } 

 
/// <summary> 
/// 直接输出Excel 
/// </summary> 
/// <param name="dtData"></param> 
public static void DataTable2Excel(System.Data.DataTable dtData) 

          System.Web.UI.WebControls.DataGrid dgExport = null; 
      // 当前对话 
      System.Web.HttpContext curContext = System.Web.HttpContext.Current; 
      // IO用于导出并返回excel文件 
      System.IO.StringWriter strWriter = null; 
      System.Web.UI.HtmlTextWriter htmlWriter = null; 
 
      if (dtData != null) 
      { 
        // 设置编码和附件格式 
        curContext.Response.ContentType = "application/vnd.ms-excel"; 
        curContext.Response.ContentEncoding =System.Text.Encoding.UTF8; 
        curContext.Response.Charset = ""; 
                 
        // 导出excel文件 
        strWriter = new System.IO.StringWriter(); 
        htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); 
 
        // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid 
        dgExport = new System.Web.UI.WebControls.DataGrid();          
        dgExport.DataSource = dtData.DefaultView; 
        dgExport.AllowPaging = false; 
        dgExport.DataBind(); 
 
        // 返回客户端 
        dgExport.RenderControl(htmlWriter);   
        curContext.Response.Write(strWriter.ToString()); 
        curContext.Response.End(); 
      } 
}

希望本文所述对大家的asp.net程序设计有所帮助。

上一篇:C#迭代器及Unity协程实例解析

栏    目:.NET代码

下一篇:ASP .NET 可编辑输入自动匹配的下拉框

本文标题:ASP.NET使用GridView导出Excel实现方法

本文地址:http://www.codeinn.net/misctech/87349.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有