Export Datagrid to Excel in C#

  • Thread starter Thread starter Ugo
  • Start date Start date
U

Ugo

Hi,
I am having a problem exporting a Datagrid to excel in asp.net. For
some reason I am getting a blank excel page. I set up in IIS the Mime for
..xls. My code is below any help would be appreciated..

Thanks

CODE:

private void ExportToExcel()
{
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.Charset = "";
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
DataGrid dg = new DataGrid();
dg.DataSource = (DataSet) Cache["dataset"];
dg.DataBind();
dg.RenderControl(hw);
Response.Write(tw.ToString());
Response.Flush() ;
Response.Close();
}
 
Ugo,

The reason for this is that you are indicating to IE that an Excel sheet
is being sent, but you end up sending HTML. While Excel can handle HTML
files, the mime type you are sending indicates that it is not what it is
expecting.

If anything, I would open a temp Excel sheet on the server, modify the
content (through automation), save it, and then stream the contents of the
temp file back to the user.

Hope this helps.
 
Back
Top