C# OleDbDataAdapter。读取Excel文件时的日期格式

时间:2021-05-10 15:20:53

标签: c# excel oledbdataadapter

我有带 IMEX 选项的连接字符串(所有类型都转换为字符串):

strConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"{0}\";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1;\";", strFile);

我使用以下代码将 xslx 文件读入 DataTable

DataTable table = new DataTable(name);
string sql = "SELECT * FROM [" + name + "]";
OleDbDataAdapter SQLAdapter = new OleDbDataAdapter();
OleDbCommand selectCMD = new OleDbCommand(sql, SQLConn);
SQLAdapter.SelectCommand = selectCMD;
SQLAdapter.Fill(table);

程序在两台计算机上读取同一个文件。

当程序在第一台计算机上运行时,我得到类似字符串“31.03.2021”的日期。当程序在第二台计算机上运行时,我得到类似字符串“3/31/2021”的日期。

我无法在两台计算机上获取相同的日期格式。我已经尝试过:

  1. 在 Windows 设置中更改语言格式。

  2. 设置

     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    
  3. 设置

     table.Locale = new CultureInfo("en-US");
    

没有任何帮助

1 个答案:

答案 0 :(得分:0)

我找不到任何解决方案。所以我开始使用选项 IMEX=0 而不是 IMEX=1。 日期被正确读取为 DateTime 类型。