Click here to Skip to main content
15,892,768 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a gridview with some records and i want to Export data from Gridview to
Excel and i want to save that excel(Excel 2007 ie. .xlsb, .xlsx )on client machine
please help me to do this ......
Posted
Updated 28-Feb-13 19:59pm
v3
Comments
Karthik Harve 1-Mar-13 1:54am    
[Edit] removed pre tags.

check this [^]out.

hope it helps :)
 
Share this answer
 
C#
protected void btnExpExcel_Click(object sender, EventArgs e)
        {
            Response.ClearContent();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Report.xls"));
            Response.ContentType = "application/ms-excel";

            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            DataTable dt = new DataTable();
            dt = (DataTable)Session["dtReport"];

            gvMISReport.AllowPaging = false;

            gvMISReport.DataSource = dt;
            gvMISReport.DataBind();

            //Change the Header Row back to white color
            gvMISReport.HeaderRow.Style.Add("background-color", "#FFFFFF");
            
            //Applying stlye to gridview header cells
            for (int i = 0; i < gvMISReport.HeaderRow.Cells.Count; i++)
            {
                gvMISReport.HeaderRow.Cells[i].Style.Add("background-color", "#157CB0");
            }
            int j = 1;
            
            //This loop is used to apply stlye to cells based on particular row
            foreach (GridViewRow gvrow in gvMISReport.Rows)
            {
                gvrow.BackColor = Color.White;
                if (j <= gvMISReport.Rows.Count)
                {
                    if (j % 2 != 0)
                    {
                        for (int k = 0; k < gvrow.Cells.Count; k++)
                        {
                            gvrow.Cells[k].Style.Add("background-color", "#EFF3FB");
                        }
                    }
                }
                j++;
            }
            gvMISReport.RenderControl(htw);
            Response.Write(sw.ToString());
            Response.End();
        }
 
Share this answer
 
Comments
[no name] 1-Mar-13 2:01am    
Sir ,

this code will create only .xls file but mine question is to cteare .xlxb or .xlsx file
willington.d 1-Mar-13 2:06am    
just change the xls to xlsx.
Hi,

This[^] might help you.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900