发布于 2016-06-27 10:24:55 | 115 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


这篇文章主要介绍了ASP.NET使用GridView导出Excel实现方法,是asp.net操作office文件的一个典型应用,代码中备有较为详尽的注释便于读者理解,需要的朋友可以参考下

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



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务