title: Import a excel data to the datatable via OleDbDataAdapter replaces square brackets to the round ones
body: <p>I'm using this code to import excel (.xls) data but all square brackets in columns are replaced by round ones. For example column dm[kg]:</p>
  
  <p>before import: dm[kg]</p>
  
  <p>after import: dm(kg)</p>
  
  <p>I'll appreciate any help.</p>
  
  <pre><code>public static DataTable ImportWorkSheet(string excelFile, bool hasHeaderRow, bool allText, string tabName)
      {
  
          string connectionString = GetExcelConnectionString(excelFile, hasHeaderRow, allText);
  
  
  
          using (OleDbConnection connection = new OleDbConnection(connectionString))
          {
  
              connection.Open();
  
              if (Path.GetExtension(excelFile).Equals(".csv", StringComparison.OrdinalIgnoreCase))
  
                  tabName = Path.GetFileName(excelFile);
  
              else
  
                  tabName = EnsureTableName(connection, tabName);
  
              string selectString = string.Format("SELECT * FROM [{0}]", tabName);
  
  
  
              DataTable table = new DataTable(tabName);
  
              using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectString, connection))
              {
                  adapter.Fill(table);
  
              }
  
  
  
              return table;
  
          }
  
      }
  private static string EnsureTableName(DbConnection connection, string tabName)
      {
  
          if (string.IsNullOrEmpty(tabName))
          {
  
              //use GetSchema to find the first sheet == table name
  
              DataTable worksheets = connection.GetSchema("Tables");
  
              foreach (DataRow row in worksheets.Rows)
              {
  
                  //this can also return Excel named ranges
  
                  tabName = (string)row["TABLE_NAME"];
  
                  //so look for sheets (excel puts $ after the name and may single-quote the name)
  
                  if (tabName.EndsWith("$") || tabName.EndsWith("$'"))
  
                      return tabName;
  
                  //otherwise we'll fall through with whatever we find
  
              }
  
          }
  
          //they supplied a worksheet name; ensure always has $ suffix
  
          else if (!tabName.EndsWith("$"))
  
              tabName += "$";
  
          return tabName;
  
      }
  
  
  
      private static string GetExcelConnectionString(string filePath, bool hasHeaderRow, bool allText)
      {
  
          //http://www.connectionstrings.com/?carrier=excel
  
          string connectionString;
  
          string ext = Path.GetExtension(filePath);
  
          if (ext.Equals(".csv", StringComparison.OrdinalIgnoreCase))
          {
  
              //uses directory path, not file path
  
              //for format definition, write a schema.ini in the folder: http://msdn.microsoft.com/en-us/library/ms709353.aspx
  
              connectionString = string.Format(
  
                  @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties=""text;FMT=Delimited;{1}{2}""",
  
                  filePath.Remove(filePath.IndexOf(Path.GetFileName(filePath))),
  
                  hasHeaderRow ? "HDR=YES;" : "HDR=NO;",
  
                  allText ? "IMEX=1" : string.Empty);
  
          }
  
          else if (ext.Equals(".xlsx", StringComparison.OrdinalIgnoreCase))
          {
  
              //if this fails, install 2007 providers from http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&amp;displaylang=en
  
              connectionString = string.Format(
  
                  @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=""Excel 12.0 Xml;{1}{2}""",
  
                  filePath,
  
                  hasHeaderRow ? "HDR=YES;" : "HDR=NO;",
  
                  allText ? "IMEX=1" : string.Empty);
  
          }
  
          else //assume normal excel
          {
  
              connectionString = string.Format(
  
                  @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties=""Excel 8.0;{1}{2}""",
  
                  filePath,
  
                  hasHeaderRow ? "HDR=YES;" : "HDR=NO;",
  
                  allText ? "IMEX=1" : string.Empty);
  
          }
  
          return connectionString;
  
      }
  </code></pre>