2011-10-23 20 views
1

次のコードを使用してCSVファイルをインポートしています。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; 
     } 

ここ列は2011年10月19日10時08分56秒GMT

がオン

として値を有する場合

19.102

として

誰も助けてくれますか?

よろしく、

答えて

1

はJETプロバイダは、あなたのCSVファイルを含むディレクトリにschema.iniファイルを使用することができます。例えば

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

これはあなたの列の名前と型を指定することができます。これまでのところ、私はタイムゾーンフィールドの指定子を見つけることができませんでしたので、上記はあなたの特定のフォーマットでは機能しません。あなたができることの1つは、日付を文字列として解析し、フォーマットをTextに設定してから、C#でそれを混乱させることです。

関連する問題