用ADO连接Excel,在DBGrid中查看Excel内容,
发现只要是Excel中可转换为整形的文本数值
(如某一格内容是1234的文本) 在DBGrid中就看不到该数字,
内容是空的,是什么原因?如何解决?

解决方案 »

  1.   

    更正一下,在Excel中,只要一列全部是数值文本,就不会出现上述问题
    只要是某一列有字符文本和数字文本,那么在DBGrid中就看不到数字文本的值了.
    如在Excel某一列有,A123,ABC,345 那么在DBGrid中就看不到345,显示为空?
      

  2.   

    faint~ 真的这么难??
      

  3.   

    你把Excel那个列的类型改一下不可以吗?
      

  4.   

    试过,都是文本型,还是看不到,或许在DataSet中的类型没有变过来。
    你可以随便用一个Excel文件试试.谢谢~
      

  5.   

    我试了一下,把Excel列的类型改为“文本”后,
    输入的数据就可以显示出来了,
    不过在改类型之前的数据是显示不出来的,
    你先设定类型再输入数据就可以了
      

  6.   

    谢谢楼上,不过,我不是用来录入数据,我只是想查看Excel的数据,
    更确切的说,我是通过程序将Excel数据导入到Access表,因为如果DataSet中的
    读取到Excel的数字文本值是空,那导入的数据将不正确!
      

  7.   

    wzrlover(流光逝水),我也遇到这问题了,你是如何解决的?
      

  8.   

    应该是EXCEL的BUG把 去MICROSOFT下载补丁
      

  9.   

    Sorry,好久没来这里了,原来还有人关注呀,该问题是在DelphiBBS上解决的:Extended Properties参数属性这样写 Excel 8.0;HDR=YES;IMEX=1ADOConnection.ConnectionString:='
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Book1.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1";Persist Security Info=False'
      

  10.   

    IMEX=1就是指混合型转换为文本