我用的是ado连接Excel数据源读取数据,但是出现了奇怪的问题,如果某一列数据中,有些是数字,有些是文本,ado查询出来的只有数字类型的数据,所有文本数据都为空。我是想全部都以字符串形式读取出来的,这个问题该怎么解决好呢?

解决方案 »

  1.   

    connectionstring中加上IMEX=1,以文本方式读取excel表
      

  2.   

    呵呵~看到月亮,就看到了delphi的希望
      

  3.   

    呵呵~看到月亮,就看到了delphi的希望
      

  4.   


    hongqi162 
    广告位招租 
    等 级:
     发表于:2007-12-20 12:00:512楼 得分:0 
    connectionstring中加上IMEX=1,以文本方式读取excel表 ----------------------------------
    这个我之前也试过了,但是运行的时候,弹出异常:找不到可安装的ISAM,当时以为是系统要另外装什么,刚刚google了一下,呵呵呵,这个问题解决了。结贴时再给分,多问个问题,另外加分(分不多,但也要厚道点)。调用Excel ole的组件时,我们通常都这么写:
          Try
            Excel:=CreateOLEObject('Excel.Application');
            MyWorkBook:=CreateOLEObject('Excel.Sheet');
          Except
            raise Exception.create('请确认安装Excel');
          end;
    系统明明有安装EXCEL,但却有时候正常调用,有时候却弹出异常,这是为什么呢?如果这么不稳定,那不就没什么意义啦?