I have to export webgrid data to excel sheet
here is my code so please help me with out borders and top heading is Common for all excel sheets
based on generating.
public ActionResult Download(string Id)
{
var grid = new GridView();
grid.RowDataBound += new GridViewRowEventHandler(grid_RowDataBound);
grid.BorderColor = System.Drawing.Color.White;
PledgeNetEntities objEnt = new PledgeNetEntities();
CharityModel objCharityModel = new CharityModel();
List<charitymodel> objCharitiesList = new List<charitymodel>();
if (Id == null)
{
objCharitiesList = objCharityModel.BindFilterCharities(Id);
grid.DataSource = objCharitiesList.Select(c => new { OldCharityNumber = c.POldCharityNumber, CharityNumber = c.PCharityNumber, CharityName = c.PCharityName, State = c.PState, status = c.PActive });
}
else
{
objCharitiesList = objCharityModel.BindFilterCharities(Id);
grid.DataSource = objCharitiesList.Select(c => new { OldCharityNumber = c.POldCharityNumber, CharityNumber = c.PCharityNumber, CharityName = c.PCharityName, State = c.PState, status = c.PActive });
}
grid.DataBind();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=CharityList.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
return RedirectToAction("CharityList","PledgeNet");
}
void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.BorderColor =System.Drawing.Color.White;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[4].Text == "INACTIVE")
{
e.Row.Cells[4].ForeColor = System.Drawing.Color.Red;
}
if (e.Row.Cells[4].Text == "ACTIVE")
{
e.Row.Cells[4].ForeColor = System.Drawing.Color.Green;
}
}
}