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

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

时间: 2024-08-16 19:32:03

ASP.NET使用GridView导出Excel实现方法_实用技巧的相关文章

Asp.Net使用Npoi导入导出Excel的方法_实用技巧

asp.net针对Excel文件的导入与导出是非常常见的功能之一.本文实例讲述了Asp.Net使用Npoi导入导出Excel的方法.分享给大家供大家参考之用.具体方法如下: 在使用Npoi导出Excel的时候,服务器可以不装任何office组件,一般在导出时用到Npoi导出Excel文件,所导Excel也符合规范,打开时也不会有任何文件损坏之类的提示.但是在做导入时还是使用OleDb的方式,这种方式的导入在服务器端似乎还是需要装office组件的. 一.Npoi导出/下载Excel 具体功能代码

asp.net实现Gradview绑定数据库数据并导出Excel的方法_实用技巧

本文实例讲述了asp.net实现Gradview绑定数据库数据并导出Excel的方法.分享给大家供大家参考,具体如下: protected void showData_Click(object sender, EventArgs e) { SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=test;User ID=sa;password=sa"); SqlDataA

asp.net实现导出DataTable数据到Word或者Excel的方法_实用技巧

本文实例讲述了asp.net实现导出DataTable数据到Word或者Excel的方法.分享给大家供大家参考,具体如下: /// <summary>< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> /// 导出DataTable数据到Word或者Excel /// </summary> /// <param name=&q

ASP.NET中GridView的文件输出流方式_实用技巧

ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一.这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生. 第一步:设置好你所需要的gridview所需要的Columns列,绑定好数据,我的第一列的数据因为数据库中保存的是"日月年时分秒"的格式,在输出的时候,我给它加了一个dataformatstring的值"{0:yyyy-MM-dd}",年月日的

asp.net实现access数据库分页的方法_实用技巧

asp.net操作access数据库是常见的数据库操作应用,本文就来实例讲解一下asp.net实现access数据库分页的方法.希望对大家的asp.net程序设计能有所帮助. 具体实例代码如下: <divclass="page"id="ctrlRecordPage"> 总<asp:LabelID="Zpage"runat="server"Text="1"></asp:Label

asp.net基于session实现购物车的方法_实用技巧

本文实例讲述了asp.net基于session实现购物车的方法.分享给大家供大家参考,具体如下: //加入购物车 protected void LinkButton2_Click(object sender, EventArgs e) { DataTable dt = null; //用户购买商品 如果 没有登录 则提示登录 if (Session["userName"] == null) { Common.MessageBox.ShowAndRedirectTo(this.Page,

win2003服务器asp.net权限设置问题及解决方法_实用技巧

服务器asp.net权限设置问题及解决方法 本人服务器使用环境:WIN 2003 ASP.NET相对于ASP,设置权限方面有点不同,有一点儿设置错了都运行不到.在网上搜索到的都是很垃圾的答案,没有一个用得到的,下面是我自己设置并从中遇到的问题摸索后得到的经验,给大家分享. ASP.NET需要用到USERS组的权限,因为我也遇过很多次自己设置了权限之后发现网站运行不了,很郁闷.下面根据出现的问题,一点点解决,让你的ASP.NET运行起来.. 问题一: 未找到路径"C:\"的一部分. 说明

ASP.NET防范SQL注入式攻击的方法_实用技巧

一.什么是SQL注入式攻击?  SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击.常见的SQL注入式攻击过程类如:  ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码.  ⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或

asp.net清空Cookie的两种方法_实用技巧

asp.net清空Cookie的两种方法 第一种 Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0; 第二种 Response.Cookies["admin"].Expires = DateTime.Now.AddDays(-1);