I extract data from all sheets in a workbook using the following code :
foreach (var sheetName in GetExcelSheetNames(connectionString))
            {
                if (sheetName.Contains("_"))
                {
                }
                else
                {
                    using (OleDbConnection con = new OleDbConnection(connectionString))
                    {
                        var dataTable = new DataTable();
                        string query = string.Format("SELECT  * ,{0} as sheetName FROM [{0}]", sheetName);
                        con.Open();
                        OleDbDataAdapter adapter = new OleDbDataAdapter(query, con);
                        try
                        {
                            adapter.Fill(dataTable);
                            ds.Tables.Add(dataTable);
                        }
                        catch { }
                    }
                }
I can't just figure how data are stocked in DataTable  : sheetname is added as column ? how can I extract it ? 
  foreach (DataTable dt in ds.Tables)
                    {
                            using (SqlConnection con = new SqlConnection(consString))
                            {
                                con.Open();
                                for (int i = 0; i < dt.Rows.Count; i++)
                                {
                                    for (int j = 0; j < dt.Columns.Count; j ++)
                                    {
//what should I write here ?
                                    }
                                 }
                              }
 
     
    