C# 将网格视图和一些文本下载到asp.net网站中的excel中

C# 将网格视图和一些文本下载到asp.net网站中的excel中,c#,asp.net,mysql,data-binding,gridview,C#,Asp.net,Mysql,Data Binding,Gridview,我正在将数据绑定到网格视图 string MysqlStatement = "SELECT TimeReceived,TimeRead, Concat(FirstName,', ',LastName) as Name FROM tbl_usermessage INNER JOIN tbl_user on tbl_usermessage.UserID = tbl_user.UserID WHERE MsgID = @Value1"; using (DataServer serve

我正在将数据绑定到网格视图

 string MysqlStatement = "SELECT TimeReceived,TimeRead, Concat(FirstName,', ',LastName) as Name FROM tbl_usermessage INNER JOIN tbl_user on tbl_usermessage.UserID = tbl_user.UserID WHERE MsgID = @Value1";
        using (DataServer server = new DataServer())
        {
            MySqlParameter[] param = new MySqlParameter[1];
            param[0] = new MySqlParameter("@value1", MySqlDbType.Int32);
            param[0].Value = MessageID;
            command.Parameters.AddWithValue("@Value1", MessageID);
            ds = server.ExecuteQuery(CommandType.Text, MysqlStatement, param);
        }

        Grid_UserTable.DataSource = ds;
        Grid_UserTable.DataBind();
我正在将数据绑定到中继器列表

string MysqlStatement = "SELECT Title, RespondBy, ExpiresBy, OwnerName, Concat(LowTarget,' - ',TopTarget) as Threshold FROM tbl_message WHERE MsgID = @Value1";
        using (DataServer server = new DataServer())
        {
            MySqlParameter[] param = new MySqlParameter[1];
            param[0] = new MySqlParameter("@value1", MySqlDbType.Int32);
            param[0].Value = MessageID;
            command.Parameters.AddWithValue("@Value1", MessageID);
            ds = server.ExecuteQuery(CommandType.Text, MysqlStatement, param);
        }
        rptList.DataSource = ds;
        rptList.DataBind();
我有一个下载报告的按钮

protected void btn_ExcelDownload_Click(object sender, EventArgs e)
    {

        string path = Server.MapPath("");
        path = path + @"\Resources\MessageStatus.xlsx";
        string filename = Path.GetFileName(path);


      Response.AppendHeader("content-disposition", "attachment; filename=" + filename);
      Response.ContentType = "Application/msexcel";
      Response.WriteFile(path);
      Response.End();

    }
我尝试了几件事,并设法从点击按钮下载了excel表格,但是我如何从repeater列表和grid视图中填充所有数据呢。我以前没有这样做过,请帮助。

样本aspx:

<asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
            <table>
                <thead>
                    <tr>
                        <th>Foo</th>
                        <th>Bar</th>
                    </tr>
                </thead>
        </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>Whatever <%# Container.DataItem %></td>
                    <td>Stuff <%# Container.DataItem %></td>
                </tr>
            </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
protected void Button1_Click(object sender, EventArgs e) {
            Repeater1.DataSource = Enumerable.Range(1, 10);
            Repeater1.DataBind();
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            HtmlTextWriter writer = new HtmlTextWriter(sw);
            Repeater1.RenderControl(writer);
            Response.Clear();
            Response.AppendHeader("content-disposition", "attachment; filename=foo.xlsx");
            Response.ContentType = "Application/msexcel";
            Response.Write(sb.ToString());
            Response.End();
        }