Step 1: add this to Page where GridView exists.
public override void VerifyRenderingInServerForm(Control control)
{
/* Confirms that an HtmlForm control is rendered for the specified ASP.NET
server control at run time. */
}
Step 2: Add this class to Project.
public class ExportToExcelClass
{
public void ExportToExcel(GridView gridview, string TitleforExcel)
{
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Buffer = true;
response.ClearContent();
response.ClearHeaders();
response.Charset = "";
string FileName = TitleforExcel + "_" + DateTime.Now + ".xls";
StringWriter strwritter = new StringWriter();
HtmlTextWriter htmltextwritter = new HtmlTextWriter(strwritter);
response.Cache.SetCacheability(HttpCacheability.NoCache);
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=" + FileName);
gridview.GridLines = GridLines.Both;
gridview.HeaderStyle.Font.Bold = true;
gridview.RenderControl(htmltextwritter);
response.Write(strwritter.ToString());
response.End();
}
public void ExportToExcel(DataSet ds, string TitleforExcel)
{
HttpResponse response = HttpContext.Current.Response;
// first let's clean up the response.object
response.Clear();
response.Charset = "";
string FileName = TitleforExcel + "_" + DateTime.Now + ".xls";
// set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" + FileName);
// create a string writer
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// instantiate a datagrid
DataGrid dg = new DataGrid();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
response.Write(sw.ToString());
response.End();
}
}
}
public void ExportToExcel(DataTable dt, string TitleforExcel)
{
HttpResponse response = HttpContext.Current.Response;
// first let's clean up the response.object
response.Clear();
response.Charset = "";
string FileName = TitleforExcel + "_" + DateTime.Now + ".xls";
// set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" + FileName);
// create a string writer
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// instantiate a datagrid
DataGrid dg = new DataGrid();
dg.DataSource = dt;
dg.DataBind();
dg.RenderControl(htw);
response.Write(sw.ToString());
response.End();
}
}
}
}
No comments:
Post a Comment