情况如下:
一张 Excel表格中有10个sheet,
现在要按顺序读从第一个sheet开始一行一行地读,
但是VB操作Excel表格速度非常的慢。
总共有2000行数据,大概需要45s左右,原先使用notepad来
管理那么多数据,只要3~5s,
但notepad一点也不方便,请问各位有没有
什么好的方法来高效处理这些 Excel里的数据?
Ps:一定要使用Excel来管理的,就是在解析这些数据的时候有没有快一点的方法?
可不可以将每一张sheet都转化成.txt格式的,然后再处理?
如果可以,VB中如何将Excel中sheet转txt格式?
谢谢·

解决方案 »

  1.   

    1.如果要打開excel文件處理,速度的效率,你只能從硬件上提高(除非代碼結構有問題)
    ,因excel所占資源過大
    2.至於轉成txt,你可以直接使用excel的轉換功能處理
    3.另外你看看你的excel文件直接用ado打開處理:
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;257819
      

  2.   

    用 ado 是最快的办法。
    不过如果文件不规则,就不是太好办。另外,range 的数据与数组是可以互转的,你可以先将所有行读入数组,然后再处理数组,会比一格格读快许多。
      

  3.   

    谢谢两位,我试了一下。用ADO果然方便而且快,to fxy_2002(阿勇) :
    range 的数据与数组是可以互转的,你可以先将所有行读入数组,怎么处理可以互换呢?
    谢谢!
      

  4.   

    Dim arrData() As Variant  '将 range 转成数组
      arrData = objSheet.Range("A1:B9").Value  '将数组转成 range
      objSheet.Range("A1:B9").Value = arrDataobjsheet 是 excel sheet 对象