Hola yo utilizo lo siguiente para exportar a exel Código PHP:
Dim sb As StringBuilder = New StringBuilder()
Dim sw As System.IO.StringWriter = New System.IO.StringWriter(sb)
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim pagina As Page = New Page
Dim form = New HtmlForm
dgPersonal.EnableViewState = False
pagina.EnableEventValidation = False
pagina.DesignerInitialize()
pagina.Controls.Add(form)
form.Controls.Add(dgPersonal)
pagina.RenderControl(htw)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment;filename=Personal.xls")
Response.Charset = "UTF-8"
Response.ContentEncoding = Encoding.Default
Response.Write(sb.ToString())
Response.End()
Dado que te urge sólo encontré en mis códigos el de VB en el C# tengo que buscarlo pero es muy fácil pasarlo a C#, sino dime para buscarlo y posteaerlo
Saludis!