title: Is there a way to force Microsoft.Jet.OLEDB to get date Columns in MM/DD/YYYY format from Excel?
body: <p>I am having a problem with reading DateColumns from an excel sheet.</p>
  
  <p>Sometimes people use different date Formats and this brings a problem. Let's say when I expect <code>07/26/2010</code> from an Excel column I get <code>26-Jul-2010</code> because the user has changed its date format.</p>
  
  <p>I use <code>Microsoft.Jet.OLEDB</code> for reading the xls sheet into a <code>DataTable</code>.</p>
  
  <p><strong>Can I somehow force OleDb reader whatever the DateFormat is set on XLS, to convert all the dates into MM/DD/YYYY format?</strong></p>
  
  <p>I use this piece of code to read the Excel file:</p>
  
  <pre><code>string strConn;
  strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
            "Data Source=" + uploadedFileInfo.FullName + ";" +
            @"Extended Properties=""Excel 8.0;HDR=NO;""";
  
  
  using (OleDbConnection connToExcel = new OleDbConnection(strConn))
  {
      //You must use the $ after the object you reference in the spreadsheet
      connToExcel.Open();
  
      string firstSheetName = ExcelUploadedFileReaderBuilder
                              .GetFirstExcelSheetName(connToExcel);
  
      OleDbDataAdapter myCommand 
      = new OleDbDataAdapter(String.Format("SELECT * FROM [{0}]", firstSheetName), connToExcel);
  
      DataSet myDataSet = new DataSet();
  
      myCommand.Fill(myDataSet, "uploadedExcelTable");
  
      DataTable dtUploadedExcel = myDataSet.Tables["uploadedExcelTable"];
  
      lineCount = GetLineNumberWhereNULLRowOccured(dtUploadedExcel) + 1;
  
      connToExcel.Close();
  }
  </code></pre>