KoffeeKoder


  • GridView Export to Excel Complete Code
    published on 6/24/2008 9:32:01 PM
  •  Here is the complete code to Export GridView to Excel:



    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;

    public partial class ExportGridView : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                GridView1.DataSource = BindData();
                GridView1.DataBind();
            }
        }

        

        private string ConnectionString
        {

            get { return @"Server=localhost;Database=Northwind;
            Trusted_Connection=true"; }

        }

        

        private DataSet BindData()
        {
            // make the query
            string query = "SELECT * FROM Categories";
            SqlConnection myConnection = new SqlConnection(ConnectionString);
            SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
            DataSet ds = new DataSet();
            ad.Fill(ds, "Categories");
            return ds;

        }




        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Clear();

            Response.AddHeader("content-disposition", "attachment;
            filename=FileName.xls");

            Response.Charset = "";

            // If you want the option to open the Excel file without saving than

            // comment out the line below

            // Response.Cache.SetCacheability(HttpCacheability.NoCache);

            Response.ContentType = "application/vnd.xls";

            System.IO.StringWriter stringWrite = new System.IO.StringWriter();

            System.Web.UI.HtmlTextWriter htmlWrite =
            new HtmlTextWriter(stringWrite);

            GridView1.RenderControl(htmlWrite);

            Response.Write(stringWrite.ToString());

            Response.End();

        }

        public override void VerifyRenderingInServerForm(Control control)
        {

            // Confirms that an HtmlForm control is rendered for the
            specified ASP.NET server control at run time.

        }
    }