导入CSV处理日期

时间:2011-10-23 09:36:31

标签: 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 个答案:

答案 0 :(得分: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

这允许您指定列的名称和类型。到目前为止,我还没有找到时区字段的说明符,因此上述内容不适用于您的特定格式。您可以做的一件事是将日期解析为字符串,方法是将格式设置为Text,然后在C#中将其弄乱。