Function to generate excel from dataset or datatable is given below:
// Export to excel
public void ExportToExcel(DataSet ds,
string filename)
{
HttpResponse response =
HttpContext.Current.Response;
// first let's clean up the response.object
response.Clear();
filename += ".xls";
response.AddHeader("Content-Disposition", "attachment;filename=
" +
filename);//+
"\"");
response.Charset = "";
// set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
response.ContentEncoding =
System.Text.Encoding.Unicode;
response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
// create a string writer
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// instantiate a datagrid
DataGrid dg = new DataGrid();
dg.HeaderStyle.Font.Bold = true;
dg.HeaderStyle.Font.Name = "Arial";
dg.HeaderStyle.Font.Size =
10;
dg.HeaderStyle.ForeColor =
System.Drawing.Color.White;
dg.HeaderStyle.BackColor =
System.Drawing.Color.Black;
dg.DataSource = ds;
dg.DataBind();
dg.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.Flush();
//HttpContext.Current.ApplicationInstance.CompleteRequest();
HttpContext.Current.Response.End();
}
}
return;
}