Есть ли способ заставить Microsoft.Jet.OLEDB получить столбцы даты в MM / DD / YYYY формат из Excel?

У меня проблема с чтением DateColumns из листа Excel.

Иногда люди используют разные форматы дат, и это вызывает проблемы. Скажем, когда я ожидаю 26.07.2010 из столбца Excel, я получаю 26-Jul-2010 , потому что пользователь изменил свой формат даты.

Я использую Microsoft.Jet.OLEDB для чтения листа xls в таблицу данных .

Могу ли я каким-то образом заставить читатель OleDb независимо от того, какой DateFormat установлен в XLS, преобразовать все даты в формат MM / DD / YYYY?

Я использую этот фрагмент кода для чтения файла Excel:

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();
}
6
задан Kamil Budziewski 19 August 2013 в 06:59
поделиться