vb.net 操作excel----之合并单元格带来的性能下降
初次接触用程序生成报表(excel),令我高兴的是一些基本的操作和设置在网上都能找的到,于是乎一通copy,paste,modify,完了突然发现生成两个报表居然要快两分钟,汗……
跟踪代码获知是for循环合并单元格浪费了时间,怎么办呢?
这里给大家提一个思路,如果要生成的报表行中存在要合并的单元格,不要等数据都生成完以后再循环合并,换个思路,可以考虑做个模板,然后用行或列拷贝的方式实现,就不用合并单元格了,这样的话性能提高的不是一点半点的,前边的两个报表生成才用了不到10秒,爽!如果不知道excel的一些操作怎么用代码写,可以用宏录制的方法查看代码,自己在环境中改改便可。
还有一点就是可以不直接往单元格里写,先建立一个对象(该对象与excel格式一致),将记录写到对象里,然后再将对象复制给excel的区域,这样避免直接操作单元格,也可以降低性能。
想起这些的前提是要么有工作经验,要么对excel很熟啊,要么就在网上找找人们的想法,希望对大家有用