导出到EXCEL

本文介绍了一种使用ASP.NET将GridView中的数据导出到Excel的方法,并解决了在导出过程中出现的错误。通过添加一个重载方法来确保GridView可以在服务器环境中正确渲染。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="WFNetCtrl" Namespace="WFNetCtrl" TagPrefix="cc1" %>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
                    <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
                    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />&nbsp;
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </form>
</body> 
</html>

 

 


    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "gb2312";
        Response.AppendHeader("content-disposition", "attachment;filename=filename.xls");
        // 如果设置为 getencoding("gb2312");导出的文件将会出现乱码!!!
        Response.ContentEncoding = System.Text.Encoding.UTF7;
        Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
        System.IO.StringWriter ostringwriter = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter ohtmltextwriter = new System.Web.UI.HtmlTextWriter(ostringwriter);


        this.GridView1.RenderControl(ohtmltextwriter);

       <<这一句报错>> 类型“GridView”的控件“GridView1”必须放在具    有 runat=server 的窗体标记内。

  
        Response.Output.Write(ostringwriter.ToString());
        Response.Flush();
        Response.End();

    }

添加下面这个重载方法即可
        public override void VerifyRenderingInServerForm(Control control)
        {

            // Confirms that an HtmlForm control is rendered for

        }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值