我使用以下代码导入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
任何人都可以帮助我吗?
此致
答案 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#中将其弄乱。