Here I have crated sample that will help you out.
You must set EnableEventValidation="false" of Page.
HTML
<asp:Panel ID="panel2" runat="server">
<div>
Welcome to AspForums.Net
</div>
</asp:Panel>
<asp:Button Id="btnExport" Text="Export" runat="server" OnClick="Export" />
C#
protected void Export(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.word";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment;filename=History.doc");
Response.Charset = "";
EnableViewState = false;
Table table = new Table();
TableRow row = new TableRow();
row.Cells.Add(new TableCell());
row.Cells[0].Controls.Add(panel2);
table.Rows.Add(row);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
table.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
VB
Protected Sub Export(sender As Object, e As System.EventArgs) Handles btnExport.Click
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.word"
Response.ContentEncoding = System.Text.Encoding.UTF8
Response.AddHeader("Content-Disposition", "attachment;filename=History.doc")
Response.Charset = ""
EnableViewState = False
Dim table As New Table()
Dim row As New TableRow()
row.Cells.Add(New TableCell())
row.Cells(0).Controls.Add(panel2)
table.Rows.Add(row)
Dim oStringWriter As New System.IO.StringWriter()
Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)
table.RenderControl(oHtmlTextWriter)
Response.Write(oStringWriter.ToString())
Response.[End]()
End Sub
Screenshot
1)

2)
