把单元格格式设置成文本,然后输入数字(因为数字前面的几位是0,而这些0需要保存,故不能把单元格格式设置成常规或者数字),然后用OleDbConnection打开连接读入数据,这时读取这个单元格的数据显示为Dbnull,用ToString()后是"",请问该如何解决这中问题,谢谢!

解决方案 »

  1.   

    把excel变成csv格式,或者你的excel有个地方没有设置好,让为0的全部自动删除了,这个我以前也遇到过,不过换了个设置后就可以了,具体忘记如何操作了
      

  2.   

    yumanqing(每天进步一点点) 不全部是0,前面几位是0xiaxilin(good good study, day day up!) 从哪里设置,拜托想一下,谢谢,我先试试换成csv格式
      

  3.   

    我记起来了,我们是用的逐个cell读取的方法读的不是用的oledbconnection的方式。
      

  4.   

    excel如果一列即有數字又有文本就會出現數字或文本為空的現象,試試下面這個連接串,string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filepath + ";" +"Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
      

  5.   

    younglady() 我这里确实是一列中既有数字又有文本,
    连接字符串中的HDR=YES表示excel表的第一行是表头,改成HDR=NO就是连第一行一起读取了
    IMEX=1指的是把混合数据当作文本读取,可是在这里似乎没有用
    solsolsol(秋水萧萧 认真思考每个问题,帮人也是一种学习) 的方法是可行的,我把一列改成文本后可以导入了,谢谢xiaxilin(good good study, day day up!) 
    因为是货单号,每个货运公司都不一样,所以没法确认到底几个0