If you are wanting to export the data i am presuming that the data is dynamic, from a database? On that assumption why not display the data in either a GridView or an ASP table? This way you will be better able to export the data.
If you are dynamically creating the table from code then i guess thats different, but you havent stated how your generating the page.
Exporting Controls to excel: Just change Gridview1 to the id of the control you want to export. Either your ASP table or your gridview ID.
Dim sw As New StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(sw)
Dim frm As HtmlForm = New HtmlForm()
Page.Response.AddHeader("content-disposition", "attachment;filename=ExportFromWebPage.xls")
Page.Response.ContentType = "application/vnd.ms-excel"
Page.Response.Charset = ""
Page.EnableViewState = False
frm.Attributes("runat") = "server"
Controls.Add(frm)
frm.Controls.Add(GridView1)
frm.RenderControl(hw)
Response.Write(sw.ToString())
Response.End()
-Edit. Ive shown my naivety here and just assumed this wouldn't work with a native html table. I thought id try it and it actually will work. Just run your table at server and give it an ID then replace gridview1
with the id you've given your HTML table.