本帖最后由 IAP_Andy 于 2011-04-29 11:56:34 编辑

解决方案 »

  1.   

    以单引号开头,表示该单元格为纯文本 
    具体可以看下
    http://www.souzz.net/html/edu/net/net7/3388.html
    虽然是C#的但是操作Excel都是一样的
      

  2.   

    to 押宝新人  看了下那篇文章。 好像跟用OleVariant对象的操作是类似的。 但是这样的操作方式会很慢。。
      

  3.   

    这个还是等高手吧,不过我从数据库里直接查询然后导出到excel没有这个问题,你的代码我试过确实有单引号,尝试了几个方法都没能避免这个,不知道是什么问题。
      

  4.   

    坐等高手。。
    顺便有人帮我看下下面的问题。。 
    http://topic.csdn.net/u/20110426/10/b2b330e0-d81a-4358-b576-8461946f60eb.html
      

  5.   

    因為你定義的表的字段為Varchar(20)型,這是字符型,當然會有撇号,如果字段類型是其他型的就沒有,如Float,按你的方法我試了,定義成varchar(20)的有撇号,定義成float型沒有。
      

  6.   

    to oraclers
    是的。 当是varchar或者char类型时。写到Excel中时,Excel会强制转换成Excel中的文本格式,所以加了撇号。  int和float类型就不会了。 可是怎么处理这个呢。 难道无视?
      

  7.   


    con1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";Data Source=' + sFileName + ';Extended Properties=Excel 8.0;Persist Security Info=True';;修改ConnectionString后。 生成xls的时候,不会再出现单引号了 但是,还是不知道是什么原因。 o(︶︿︶)o 唉。。 而且不能正确生成xlsx文件。。
    http://topic.csdn.net/u/20110430/10/4d134fca-cdc9-476f-a014-b1e330d79dae.html
    结贴。。 继续研究TADOConnection组件