Export Datagrid to Excel in C#

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();
}
 
N

Nicholas Paldino [.NET/C# MVP]

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top