Saturday, 3 August 2013

Get Data From excel in C#


 .cs Page
========
protected void getData()
    {
        string file = Server.MapPath("~/App_Data/SampleData.xls");

        string connStr = string.Format(ConfigurationManager.AppSettings["Excel2003OleDBConnection"], file);

        DataTable table = new DataTable();



        using (OleDbConnection conn = new OleDbConnection(connStr))
        {

            string sheet = @"SELECT * FROM [Sheet1$]"; // to avoid error write the sheet name in square bracket

            using (OleDbCommand cmd = new OleDbCommand(sheet, conn))
            {
                conn.Open();
                using (OleDbDataAdapter ad = new OleDbDataAdapter(cmd))
                {

                    ad.Fill(table);

                }

                conn.Close();

            };

        }
        GridView1.DataSource = table;
        GridView1.DataBind();
    }


Add in config
===========

<appSettings>
        <add key="Excel2003OleDBConnection" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=&quot;Excel 8.0;HDR=YES;IMEX=1&quot;"/>
        <add key="Excel2007OleDBConnection" value="Provider=Microsoft.ACE.     OLEDB.12.0;Data Source={0};Extended Properties=&quot;Excel 12.0 Xml;HDR=YES;IMEX=1&quot;"/>
    </appSettings>