我正在使用 OleDb 从 Excel 文件读取数据。读取数据的代码如下:
OleDbCommand oleDbCommand = new OleDbCommand(selectCommandText, oleDbConnection);
using (OleDbDataReader dr = oleDbCommand.ExecuteReader())
{
DataTable dt = new DataTable();
dt.Load(dr);
return dt;
}
Run Code Online (Sandbox Code Playgroud)
问题是读取的数据有时随机出现为字符串(例如“16.02.1995”)或类似数字时间戳(41187),类似这样将 Excel Date Serial Number 转换为 Regular Date。
有什么办法可以解决这个问题吗?我想始终以某种格式读取数据,无论它是数字还是字符串。
编辑:我发现当我打开Excel文件时,读取的日期是数字格式(日期序列号),当我没有打开文件时,日期是字符串格式。有人知道为什么吗?
Edit2:日期单元格中使用的个性化格式