GridView数据导出到Excel、Word
将GridView数据导出到Excel、Word。
需注意:
1)要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;
2)修改你的aspx文件中的:
 <%@ Page EnableEventValidation="false" %>
<%@ Page EnableEventValidation="false" %>代码如下:
 protected void Button1_Click(object sender, EventArgs e)
    protected void Button1_Click(object sender, EventArgs e) {
    { GridView1.AllowPaging = false;
        GridView1.AllowPaging = false; GridView1.AllowSorting = false;
        GridView1.AllowSorting = false; GridView1.DataBind();
        GridView1.DataBind(); Export("application/ms-excel", "visitrecord.xls");
        Export("application/ms-excel", "visitrecord.xls");         //Export("application/ms-word", "visitrecord.doc");
        //Export("application/ms-word", "visitrecord.doc"); //Export("application/text/html", "visitrecord.html");
        //Export("application/text/html", "visitrecord.html"); GridView1.AllowPaging = true;
        GridView1.AllowPaging = true; GridView1.AllowSorting = true;
        GridView1.AllowSorting = true;         }
    }
 private void Export(string FileType, string FileName)
    private void Export(string FileType, string FileName) {
    { Response.Clear();
        Response.Clear(); Response.Buffer = true;
        Response.Buffer = true; Response.Charset = "GB2312";
        Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString()); Response.ContentType = FileType;
        Response.ContentType = FileType; this.EnableViewState = false;
        this.EnableViewState = false; StringWriter sw = new StringWriter();
        StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw);
        HtmlTextWriter hw = new HtmlTextWriter(sw); GridView1.RenderControl(hw);
        GridView1.RenderControl(hw); Response.Write(sw.ToString());
        Response.Write(sw.ToString()); Response.End();
        Response.End(); }
    }
 public override void VerifyRenderingInServerForm(Control control)
    public override void VerifyRenderingInServerForm(Control control) {
    { //base.VerifyRenderingInServerForm(control);
        //base.VerifyRenderingInServerForm(control); }
    }
 
                     
                    
                 
                    
                
 
 
    
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号