使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0相关的知识,希望对你有一定的参考价值。
使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0,
以下是读取部分的代码:
string strCon = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = D:\\sampl.xls;Extended Properties =\"Excel 8.0;HDR=No;IMEX=2\"";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = "SELECT *FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataTable myDataTable = new DataTable();
myCommand.Fill(myDataSet);
string s = myDataTable.Row[3][3].toString()
s接到的是1900\1\0,但是实际格式是这样的“0:14:34”
要先弄清楚你要的内容是不是在这个格子内,OleDb度Excel的时候,默认情况下是吧第一行当做列名,不计算在内的。接到1900\1\0值应该是读到空格子了 参考技术B 不会吧,应该可以的,
用OLEDB读取EXCEL时,单元格内容长度超过255被截断
https://support.microsoft.com/zh-cn/help/189897/data-truncated-to-255-characters-with-excel-odbc-driver Microsoft.ACE.OLEDB.12.0 驱动读取excel,会读取前8行来判定每列的数据类型,假如没有超过255个字符,那么会被设置为nvarchar(255),从第9行开始,超过255字符会被自动截断! 推荐使用第三方库:https://github.com/ExcelDataReader/ExcelDataReader ---------------------------------- 附连接字符串 Microsoft ACE OLEDB 12.0 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES"; 驱动下载Microsoft Access Database Engine 2016 Redistributable https://www.microsoft.com/en-us/download/details.aspx?id=54920以上是关于使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0的主要内容,如果未能解决你的问题,请参考以下文章