第一张图片是excel里的数据 这病害尺寸里的数据有的是纯数字 有的带单位
第二张图片是绑定到DGV上的数据 病害尺寸 只显示纯数字的 不显示带单位的
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [巡.2009-12-26$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
DataTable table1 = new DataTable();
myCommand.Fill(table1);
dataGridView1.DataSource = table1;
代码很简单
我想请问下 如何才能让带单位的也能显示 是设置excel呢还是DGV
用OLEDB读取EXCEL时,如果EXCEL中某列的数据有两种以上的数据格式,则以较多的一种为准.
这就表示,你带单位的数据用OLEDB读取时是读不到的.建议你把单位去掉或全部加上单位.
@aixuexi: 我也遇到这个问题 ,加上HDR=YES ; IMEX=1 也没用 ,因为那样还是默认前8行作为参照,也就是说如果前8行为数字 ,后面的字符类型还是读不到,也想你比较幸运,前8行不全是数字。
有个方法是改注册表,但我不想改,现在也郁闷这呢