在客户的需求里经常有对结果生成图表的需求,其中一个就是生成excel。
我一般使用ole来对excel在程序里进行操作,但是ole有一个大的确定就是速度太慢了。在生成有大量数据的excel表时,会花费比较长的时间,难以让人忍耐。那么如何可以提升数据量大的时候的速度呢。
第一个方法,使用第三方控件,比如flex cell,这个控件,一般的应用很够用了,在应对大数据量时,数据也很快了,且本机不用安装excel就可以开发。但是是收费的,提供试用,可以试试,如果觉得顺手,建议买个注册码,支持国产。
第二个方法,可以绕道来间接实现提速。一般在数据量大的时候,往往是这样子的情概况:在表里存在大片的数据格式是固定的,比如表头依次为
序号、姓名、班号、性别,在记录数据时,依次填入既是。
这里我们要利用这种固定的格式来完成大量数据的录入,excel识别csv(逗号分隔值)格式,于是,我们可以先将数据以csv保存起来,这个速度相对excel是很快的了,纯文本嘛。然后保存为xls文件,这时我们再通过ole的来操作,虽然用ole一个数据一个数据的填入慢,但是用ole使用整片的复制操作就可以避免一个一个的录入了,呵呵,现在就是吧之前的csv格式的数据复制过来就可以了,整个过程绕了些弯路,不过目的达到了,速度还是比较让人满意的。
在一个就是用xml了,这个没啥好说的,就是按规范写xml文件,然后存为xls即可。
改天贴点代码出来。