当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET使用GridView导出Excel实现方法

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
本文实例讲述了asp.net使用gridview导出excel实现方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:/// <summary>

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

您可能感兴趣的文章:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网