Wednesday, 15 March 2017

Read Excel File as a Data Table using OLEDB


 string filepath = string.Empty;
            filepath = "C:\\TEST.xlsx";
            string sSourceConstr = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source= " + filepath + ";  Extended Properties=Excel 8.0";
           
            OleDbConnection sSourceConnection = new OleDbConnection(sSourceConstr);
            //OleDbCommand cmd = new OleDbCommand("SELECT * FROM [CQALRPF$] WHERE [FACNO] =@id", sSourceConnection);
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", sSourceConnection);
            //cmd.Parameters.AddWithValue("@id", 523001740206);
           
            OleDbDataAdapter oleda = new OleDbDataAdapter();
            oleda.SelectCommand = cmd;
            DataSet ds = new DataSet();
            oleda.Fill(ds);
            DataTable dt = ds.Tables[0];

//To Extract Datable to Excel File [xls Format]

StreamWriter wr = new StreamWriter(@"C:\Users\shareadmin\Desktop\On-Process\\Test_OnProcess.xls");

                try
                {

                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        wr.Write(dt.Columns[i].ToString().ToUpper() + "\t");
                    }

                    wr.WriteLine();

                    //write rows to excel file
                    for (int i = 0; i < (dt.Rows.Count); i++)
                    {
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            if (dt.Rows[i][j] != null)
                            {
                                wr.Write(Convert.ToString(dt.Rows[i][j]) + "\t");
                            }
                            else
                            {
                                wr.Write("\t");
                            }
                        }
                        //go to next line
                        wr.WriteLine();
                    }
                    //close file
                    wr.Close();
                   
                }

                catch (Exception ex)
                {
                    throw ex;
                }