我正在使用 C# 中的 OLEDBConnection 读取 Excel 文件。
我想根据 Excel 文件的文化更改当前线程文化,以便我可以获取文化特定格式的日期。我使用了以下代码,但它不起作用。它仍然将日期转换为我们的英文格式。如果我从那时更改格式,Control Panel --> Region and Language
它会起作用:
我的代码:
public static System.Data.DataTable GetWorksheet(string worksheetName, string connectionString)
{
try
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("cs-CZ", true);
Thread.CurrentThread.CurrentCulture.ClearCachedData();
OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString);
OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter(
//"select * from [" + worksheetName + "]", con);
"select * from [" + worksheetName + "$]", con);
con.Open();
System.Data.DataSet excelDataSet = new DataSet();
cmd.Fill(excelDataSet);
con.Close();
con.Dispose();
System.Data.DataTable dt = excelDataSet.Tables[0];
if (excelDataSet != null)
excelDataSet.Dispose();
return dt;
}
catch (Exception e)
{
throw e;
}
}