Импорт дат обработки CSV

#c#

#c#

Вопрос:

Я использую следующий код для импорта файла CSV.

        try
        {
            OleDbConnection ExcelConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="   pathName   ";Extended Properties=Text;");
            OleDbCommand ExcelCommand = new OleDbCommand(@"SELECT * FROM "   fileName, ExcelConnection);

            OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand);

            ExcelConnection.Open();

            DataSet ExcelDataSet = new DataSet();
            ExcelAdapter.Fill(ExcelDataSet);

            ExcelConnection.Close();
            return ExcelDataSet;
        }
        catch
            (Exception ex)
        {
            MessageBox.Show("Cannot read excel file");
            return null;
        }
  

Здесь, когда столбец имеет значение как

19.10.2011 10:08:56 GMT

получается как

19.102

Кто-нибудь может мне помочь?

С уважением,

Ответ №1:

Поставщик JET может использовать schema.ini файл в каталоге, содержащем ваши CSV-файлы.

Например:

 [mycsv_file.csv]
Format=CSVDelimited
Col1=myname Text 
Col2=mydate Date
Col3=mynumber Integer  
DateTimeFormat=dd.mm.yyyy hh.nn.ss
  

Это позволяет вам указывать имена и типы для ваших столбцов. До сих пор я не смог найти спецификатор для поля часового пояса, поэтому приведенное выше не будет работать для вашего конкретного формата. Одна вещь, которую вы можете сделать, это проанализировать дату как строку, установив формат Text равным , а затем поработать с ней в C #.