C#使用OLEDB读取Excel的时间时,秒值没有了,怎么解决?

xxx355200 xxx355200 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


如图,这个加油时间是有秒值的,但通过代码获取后,读不到秒。只到分钟。这样导致后面的计算会出问题,要读到秒才行。
让用户改文本格式不太现实。
有什么方法可以解决这个问题?

代码:
public static DataSet ExcelToDS (string file)
{
//string strConn = "Provider=Microsoft.Jet.OLEDB.12.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;HDR=NO;IMEX=1';";
string connstring = "";
string filetype = file.Substring(file.LastIndexOf('.') + 1);
DataSet dt = null;
if (filetype.ToLower() == "xlsx")
{
// Office 07及以上版本 不能出现多余的空格 而且分号注意
connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
}
else //if (filetype.ToLower() == "xls")
{
//Office 07以下版本
connstring = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
}
using (OleDbConnection conn = new OleDbConnection(connstring))
{

conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
//string tableName = schemaTable.Rows[0][2].ToString().Trim();
string tableName = "sheet1$";
string strExcel = "";
OleDbDataAdapter myCommand = null;

strExcel = "select * from [" + tableName + "]";

myCommand = new OleDbDataAdapter(strExcel, connstring);
dt = new DataSet();
myCommand.Fill(dt, "table1");

conn.Close();
return dt;

}

}
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
xxx355200
C# 111,128 成员 642,536 内容