首页 新闻 会员 周边

关于读取excel绑定之后只显示纯数字的问题

1
悬赏园豆:50 [已解决问题] 解决于 2010-09-15 13:38

这是excel里的数据这是绑定之后的数据

第一张图片是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 

aixuexi的主页 aixuexi | 菜鸟二级 | 园豆:210
提问于:2010-09-14 23:51
< >
分享
最佳答案
0

用OLEDB读取EXCEL时,如果EXCEL中某列的数据有两种以上的数据格式,则以较多的一种为准.

这就表示,你带单位的数据用OLEDB读取时是读不到的.建议你把单位去掉或全部加上单位.

收获园豆:50
I,Robot | 大侠五级 |园豆:9783 | 2010-09-15 10:05
呵呵 问题我已经解决了 就是在 连接字符串 后面加上 HDR=Yes;IMEX=1
aixuexi | 园豆:210 (菜鸟二级) | 2010-09-15 13:38

@aixuexi: 我也遇到这个问题 ,加上HDR=YES ; IMEX=1 也没用 ,因为那样还是默认前8行作为参照,也就是说如果前8行为数字 ,后面的字符类型还是读不到,也想你比较幸运,前8行不全是数字。

有个方法是改注册表,但我不想改,现在也郁闷这呢

liangyammu | 园豆:4 (初学一级) | 2011-10-29 10:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册