title: Read columns names issue with reader.GetName and OLEDB Excel provider
body: <p>I have an issue to retrieve the columns names in an Excel sheet.</p>
  
  <p>I have an Excel sheet with only 3 cells in the first row with these 3 values:</p>
  
  <ul>
  <li><p>in A1: A</p></li>
  <li><p>in B1: B</p></li>
  <li><p>in C1: A.B.C</p></li>
  </ul>
  
  <p>When I try to execute my method the label shows:</p>
  
  <ul>
  <li>A,B,A#B#C</li>
  </ul>
  
  <p>And not:</p>
  
  <ul>
  <li>A,B,A.B.C</li>
  </ul>
  
  <p>My Code:</p>
  
  <pre><code>    protected void btnExecute_Click(object sender, EventArgs e)
      {
          string fullFileName = @"C:\TEST.xls";
          List&lt;string&gt; columns = new List&lt;string&gt;();
  
          string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", fullFileName);
  
          using (OleDbConnection conn = new OleDbConnection(connectionString))
          {
              conn.Open();
  
              // Retrieves the first sheet
              DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
              string firstSheet = dt.Rows[0]["TABLE_NAME"].ToString();
  
              // Retrieves the list column name
              string query = string.Format("SELECT TOP 1 * FROM [{0}]", firstSheet);
              OleDbCommand cmd = new OleDbCommand(query, conn);
              OleDbDataReader reader = cmd.ExecuteReader();
              for (int i = 0; i &lt; reader.FieldCount; i++)
              {
                  columns.Add(reader.GetName(i));
              }
          }
  
          lblCols.Text = string.Join(",", columns.ToArray());
      }
  </code></pre>
  
  <p>Do you have an idea to fix this issue??</p>
  
  <p>Thanks in advance.</p>
  
  <p>Daniel</p>