各位大侠!首先描述下我需要的功能:
有n个txt文件,里面格式大致如下:
...
...
PASS    FT_GSM_TEST                   PHONE_MODE_GSM_900,5,59       Loss(In/Out):6.551227/6.681415
Pass    Average Power                 31                            33                      32.08504                
Pass    Peak Power                    31                            39                      32.08504                
Pass    Power Vs. Time                ---                           ---                     passed                  
Pass    Phase Error Peak              -20                           20                      3.680027                
Pass    Phase Error RMS               ---                           4                       1.38195                 
Pass    Frequency Error               -75                           75                      2.77953                 
Pass    Spectrum due to Modulation    ---                           ---                     passed                  
---     SM@-600KHz                    ---                           -60                     -77.72936               
---     SM@-400KHz                    ---                           -60                     -70.25675               
---     SM@400KHz                     ---                           -60                     -71.37618               
---     SM@600KHz                     ---                           -60                     -77.54009               
Pass    Spectrum due to Switching     ---                           ---                     passed                  
---     SS@-600KHz                    ---                           -21                     -37.55593               
---     SS@-400KHz                    ---                           -19                     -33.86618               
---     SS@400KHz                     ---                           -19                     -30.75134               
---     SS@600KHz                     ---                           -21                     -36.9227                PASS    FT_GSM_TEST                   PHONE_MODE_GSM_900,5,121      Loss(In/Out):6.573294/6.66533
Pass    Average Power                 31                            33                      32.00257                
Pass    Peak Power                    31                            39                      32.00257                
Pass    Power Vs. Time                ---                           ---                     passed                  
Pass    Phase Error Peak              -20                           20                      4.223923                
Pass    Phase Error RMS               ---                           4                       1.418725                
Pass    Frequency Error               -75                           75                      -6.447608               
Pass    Spectrum due to Modulation    ---                           ---                     passed                  
---     SM@-600KHz                    ---                           -60                     -76.80498               
---     SM@-400KHz                    ---                           -60                     -70.09677               
---     SM@400KHz                     ---                           -60                     -70.19224               
---     SM@600KHz                     ---                           -60                     -76.6252                
Pass    Spectrum due to Switching     ---                           ---                     passed                  
---     SS@-600KHz                    ---                           -21                     -36.59517               
---     SS@-400KHz                    ---                           -19                     -32.51443               
---     SS@400KHz                     ---                           -19                     -31.2654                
---     SS@600KHz                     ---                           -21                     -37.62667               PASS    FT_GSM_TEST                   PHONE_MODE_GSM_900,5,978      Loss(In/Out):6.555149/6.605227
Pass    Average Power                 31                            33                      32.17142                
Pass    Peak Power                    31                            39                      32.17142                
Pass    Power Vs. Time                ---                           ---                     passed                  
Pass    Phase Error Peak              -20                           20                      2.987957                
Pass    Phase Error RMS               ---                           4                       1.390235                
Pass    Frequency Error               -75                           75                      -13.78932               
Pass    Spectrum due to Modulation    ---                           ---                     passed                  
---     SM@-600KHz                    ---                           -60                     -76.88134               
---     SM@-400KHz                    ---                           -60                     -71.08246               
---     SM@400KHz                     ---                           -60                     -70.57403               
---     SM@600KHz                     ---                           -60                     -77.26451               
Pass    Spectrum due to Switching     ---                           ---                     passed                  
---     SS@-600KHz                    ---                           -21                     -38.1521                
---     SS@-400KHz                    ---                           -19                     -33.97249               
---     SS@400KHz                     ---                           -19                     -29.52433               
---     SS@600KHz                     ---                           -21                     -36.86544               ...
...有个Excel文件,里面有多个sheet页,比如说有GSM、WCDMA、EDGE 三个
里面大致有这样的列:
                                       GSM_900,978
Average Power;Phase Error Peak;Phase Error RMS;Frequency Error; ...;SM@600KHz;Rx Level;BERdelphi程序的作用就是将txt文件中的数据进行抓取后填入到Excel对应的列中,
比如上面的值填入的应该是:
                                       GSM_900,978
Average Power;Phase Error Peak;Phase Error RMS;Frequency Error; ...;SM@600KHz;
32.17142;2.987957;1.390235;-13.78932;...;-77.26451;请问大家有没有什么好的方法?需要速度上能够更快一些。
本来用VB写了一个程序,但是速度太慢了,估计方法和算法上存在些问题,所以请教各位大侠们有没有什么妙招???希望能提供一个比较可行的方案,当然有实例么是最好的了,先谢谢了!!!

解决方案 »

  1.   

    写excel最快的办法就是自己按照excel的文件格式来写。
    具体可以参照dxdbgrid的savetoxls的源程序
      

  2.   

    vb里面也就是先将excel中的列名赋值给数组,然后对txt文件一块一块地也赋值给数组,两个数组比较一下再填到对应的列中,所以速度很慢
      

  3.   


    这个方面使用了cxgrid,导出excel是快了,但是发觉速度慢是在对txt文本进行读取,获取对应的数据并填写至cxgrid中时速度比较慢,现在一个文本处理下来需要7秒多,一个文本345KB,需要获取的数据项有500多项。有没有快速点的方法么?感觉太慢了,每次计算都是需要1000个文本的,这样处理下来得1000*7=7000秒=2个小时
      

  4.   

    已经解决了,在给cxgrid循环填充 的前后加了my_cxgrid.BeginUpdate;
    {
    for 循环
    }
    my_cxgrid.EndUpdate;速度马上得到提升!问题解决!谢谢各位!