本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:

  • ASP.NET4 GridView的四种排序样式详解
  • asp.net中的GridView分页问题
  • asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页
  • ASP.NET数据绑定之GridView控件
  • ASP.NET数据绑定GridView控件使用技巧
  • 在ASP.NET 2.0中操作数据之十一:基于数据的自定义格式化
  • 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField
  • 在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField
  • 在ASP.NET 2.0中操作数据之十四:使用FormView 的模板
  • 在ASP.NET 2.0中操作数据之十五:在GridView的页脚中显示统计信息
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。