谢谢,

解决方案 »

  1.   

       假设你的gridview的id为gv        StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            HtmlTextWriter hw = new HtmlTextWriter(sw);        gv.RenderControl(hw);        Response.Write(sb.ToString());
            sb就是生成的HTML代码
      

  2.   

    实际上好多把gridview表格内容导出到excel也是利用这个
      

  3.   

    GridView导出到Excel或Word文件
    在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能....,原本以为这个问题不难的,不过看到网上经常有朋友问,于是我整理了一下,供大家参考。 需要说明的是:在asp.net2.0环境下,VerifyRenderingInServerForm(Control control)这个方法不override的话,则会出现“错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”这个错误。
    http://blog.csdn.net/zhoufoxcn/archive/2008/05/16/2450642.aspx
    思路是一样的。
      

  4.   


    Response.Clear();
            Response.BufferOutput = true;
            //设定输出的字符集
            Response.Charset = "GB2312";
            //假定导出的文件名为FileName.xls
            Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            //设置导出文件的格式
            Response.ContentType = "application/ms-excel";
            //关闭ViewState
            EnableViewState = false;
            System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
            System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
            System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
            gvPersonList.RenderControl(textWriter);
            //把HTML写回浏览器
            Response.Write(stringWriter.ToString());
            Response.End();关键代码
    带注释。
      

  5.   


     System.Text.StringBuilder strb = new System.Text.StringBuilder();
     System.IO.StringWriter sw = new System.IO.StringWriter( strb );
     System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter( sw );
        //执行控件的render并输出到HtmlTextWriter里
     this.GridView.RenderControl( htw );
     string s = strb.ToString();