通过 OleDbDataAdapter 从 Excel 工作表获取日期时间
当我从 Excel 中获取包含 CSV 格式值的日期时间列时,我遇到问题,然后它显示为 null,因为日期时间列上的值类似于 50:48:12 (HH:MM:SS),但是当该值在日期时间范围内时,例如23:12:32 那么它工作完美...
我想获取具有任何日期时间值的 Excel 列 例如,如果该值是 50:48:12 那么我在查询结果上得到相同的值,
我的快照代码如下 我的 OleDbDataAdapter 连接是 string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "数据源=\"" + dir + "\\\";" + "扩展属性=\"text;HDR=No;FMT=Delimited\"";
我的查询是 string query = "SELECT * FROM " + file;
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
try
{
//fill the DataTable
dAdapter.Fill(dTable);
}
Excel 工作表中的值是 104:24:54 22:12:34 720:01:00
如果我打开 dataTable 那么
- dTable.Tables[0].Rows[0] 中的值是 空
- dTable.Tables[0].Rows[1] 中的 值是 10:12:34 PM
- dTable.Tables[0].Rows[2] 中的 值是 null
请给我任何解决方案
i am facing a problem when i fetch datetime column from Excel containing CSV format values then its show null because the value on datetime column is like 50:48:12 (HH:MM:SS), but when the value is under datetime range like 23:12:32 then its working perfect...
i want to fetch the Excel column with any datetime value
e.g if the value is 50:48:12 then i got the same value on Query result
my snap code is below
my OleDbDataAdapter connection isstring connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=\"" + dir + "\\\";"
+ "Extended Properties=\"text;HDR=No;FMT=Delimited\"";
My query isstring query = "SELECT * FROM " + file;
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
try
{
//fill the DataTable
dAdapter.Fill(dTable);
}
Values In Excel Sheet is
104:24:54
22:12:34
720:01:00
and if i open dataTable then
- value in dTable.Tables[0].Rows[0] is
null - value in dTable.Tables[0].Rows[1] is
10:12:34 PM - value in dTable.Tables[0].Rows[2] is
null
please give me any solution
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的日期值未以有效格式 104:24:54 & 捕获720:01:00。 22:12:34 是唯一有效的。为什么其他值高于 24.00.00?
Your date values are not captured in a valid format 104:24:54 & 720:01:00. 22:12:34 is the only valid one. Why are the other value higher than 24.00.00?