请教:问问大家,平时用VB代码导出电子表格喜欢用哪种方法呀?
---------
有以下几种方法,各有利弊,想听听大家平时都用哪种方法,谢谢先.
1.首先生成一个记录集,然后将这个记录集导成excel格式,
     优点:速度很快.
     不足:灵活性差,比如说,哪个列导出,哪些列不导出,就不灵活了,它总将整个记录集全部导成excel2.将表格[比如:msflexgrid]中的单元格,一格一格的循环复制到excel的单元格中.
     优点:灵活性好,可以对已经存在的一个表格进行导出,而且可以设定哪些列导出,哪些列不导出.
     不足:速度实在太慢了.如果记录条数很多的话,这种方法在慢长的等待.我由于初学,只知道以上两种方法,不知有没有更好的方法,可以取以上两种方法的优点.
请大家说说,大家平时用哪种方法多呢?如何解决灵活性与速度的矛盾呢?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4814/4814127.xml?temp=.5795099
    去哪里看看吧,刚讨论完的
      

  2.   

    xlSheet.Cells(1, 1) = MSFlexGrid1.TextMatrix(0, 0)                    ''''Excel表头填写
    xlSheet.Cells(1, 2) = MSFlexGrid1.TextMatrix(0, 1)
    xlSheet.Cells(1, 3) = MSFlexGrid1.TextMatrix(0, 2)
    xlSheet.Cells(1, 4) = MSFlexGrid1.TextMatrix(0, 3)
    xlSheet.Cells(1, 5) = MSFlexGrid1.TextMatrix(0, 4)应该算是你说的第二种吧,我算得条数比较少,速度还可以吧
    以前有过十几万条的也是这样导的,是慢了点:)
      

  3.   

    谢谢,楼上推的贴子的也看了,不过还没解决我的问题呀?
    用单元格复制的办法最灵活,可是速度为何这么慢呀?
    能看到在excel中,单元格一个一个的增加,我想能不能增加一些速度呀?还有:一位老师说要先导出csv文件,可是如何导呀?
      

  4.   

    先生成文件,再从EXCEL导入外部文件
      

  5.   

    导出表格文件比较好的方法是用CSV文件格式
    它是一个格式化文本文件,大体格式为:文本行代表表格行
    同一行以逗号分隔的内容表示不同字段的内容。楼主可以将一个普通的EXCEL文件,选择另存为CSV格式后,用写字板打开这个文件看一看格式就知道了,非常简单的。并且这样做速度也很快,完全不是那种一格一格写数据可以比拟的。在建立数据接口的时候可以建立一个字符串类型的数组,先将所有内容放在数组里,再用循环写入文件里。
    几十万条记录的文件处理时间也不过几秒而已
      

  6.   

    补充一下:你生成的CSV文件,在装有OFFICE的系统上所显示的图标就是一个EXCEL的图标(稍微一点点不同,图标下面多了一个小写的"a"而已),说明OFFICE已经把这种文件注册为默认可打开的文件类型了。
      

  7.   

    谢谢,WallesCai(沧海明月一度,西风残阳无悔.) 
    听了你的话,受益匪浅,不过有了个问题还想请教,就是
    excel打开一个csv文件时,它会自动对格式进行转换.
    比如很长的一串号,比如身份证号,它会自动转成科学计数法.
    如何避免这种问题出现呀?要使导出到电子表格的内容与msflexgrid表格中显示的完全一样.