title: Importing excel file into SQL with different schema (asp.net C#)
body: <p>I'm building a program where the user imports an excel file to a database (SQLServer)... But I Do not want to specify the columns name cause it makes my program very limit, to those column names.... 
  I don't know how to work with datatable and rows very well, but I think its the only way right? (im a newbie, sorry)</p>
  
  <p>Here's the code Guys:</p>
  
  <pre><code>rotected void Upload_Click(object sender, EventArgs e)
          {
              string sSheetName;
              DataTable dtTablesList = new DataTable();
  
              string excelPath = Server.MapPath("~/Nova pasta/") + Path.GetFileName(FileUpload1.PostedFile.FileName);
              string filepath = Server.MapPath("~/Nova pasta/") + Path.GetFileName(FileUpload1.FileName);
              string filename = Path.GetFileName(filepath);
              FileUpload1.SaveAs(excelPath);
              string ext = Path.GetExtension(filename);
              String strConnection = @"Data Source=PEDRO-PC\SQLEXPRESS;Initial Catalog=costumizado;Persist Security Info=True;User ID=sa;Password=1234";
              string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\"";
  
              OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
  
              excelConnection.Open();
              dtTablesList = excelConnection.GetSchema("Tables");
  
              if (dtTablesList.Rows.Count &gt; 0)
              {
                  sSheetName = dtTablesList.Rows[0]["TABLE_NAME"].ToString();
  
  
                  for (int j = 0; j &lt; dtTablesList.Rows.Count; j++)
                  {
                      for (int i = 0; i &lt; dtTablesList.Columns.Count; i++)
                      {
                          Debug.Write(dtTablesList.Columns[i].ColumnName + " ");
                          Debug.WriteLine(dtTablesList.Rows[j].ItemArray[i]);
  
                      }
                  }
  
                  Debug.WriteLine(dtTablesList.Rows.Count);
                  foreach (DataRow dataRow in dtTablesList.Rows)
                  {
                      foreach (var item in dataRow.ItemArray)
                      {
                          Debug.WriteLine(item);
                      }
                  }
  
                      OleDbCommand cmd = new OleDbCommand("Select * from ["  + sSheetName + "]", excelConnection);
  
                      cmd.ExecuteNonQuery();
              }
  </code></pre>