我有带 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”的日期。
我无法在两台计算机上获取相同的日期格式。我已经尝试过:
在 Windows 设置中更改语言格式。
设置
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
设置
table.Locale = new CultureInfo("en-US");
没有任何帮助
答案 0 :(得分:0)
我找不到任何解决方案。所以我开始使用选项 IMEX=0 而不是 IMEX=1。 日期被正确读取为 DateTime 类型。