asp.net gridview中数据导出excel,该如何解决

asp.net gridview中数据导出excel
前台代码
       <div style="overflow-y: scroll; height:545px; width:100%" runat="server">
       <asp:GridView ID="GridView1" runat="server" Width="100%"></asp:GridView></div>

后台代码
    public override void VerifyRenderingInServerForm(Control control)
    {
       
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
        Response.Charset = "gb2312";
        Response.ContentType = "application/vnd.xls";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();

    }

导出的不是gridview的数据,而是整个网页的页面,怎么回事?

------解决思路----------------------
GridView控件导出Excel示例
//CridView前台设置
<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#DEDFDE"
                        BorderStyle="None" BorderWidth="1px" CellPadding="4" Font-Size="11pt" ForeColor="Black"
                        GridLines="Vertical" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
                        <FooterStyle BackColor="#CCCC99" />
                        <RowStyle BackColor="#F7F7DE" />
                        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
                        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
                        <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
                        <AlternatingRowStyle BackColor="White" />
                        <Columns>
                            <asp:BoundField DataField="商品ID" HeaderText="商品ID" />
                            <asp:BoundField DataField="商品名称" HeaderText="商品名称" />
                            <asp:BoundField DataField="商品介绍" HeaderText="商品介绍" />
                            <asp:BoundField DataField="商品价格" HeaderText="商品价格" />
                        </Columns>
                    </asp:GridView>
//后台处理
 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
    protected void Page_Load(object sender, EventArgs e)//加载数据
    {
        if (!IsPostBack)
        {
            bind();//调用自定义方法
        }
    }
private void bind()
    {
        SqlDataAdapter myda = new SqlDataAdapter("select top 10 GoodsID as 商品ID,GoodsName as 商品名称,GoodsIntroduce as 商品介绍,GoodsPrice as 商品价格 from tb_GoodsInfo", sqlcon);