以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码优化 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107250) |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/24 9:26:00 -- 代码优化 这是蓝版帮忙写的一个实现excel自动行高的代码 可以实现需求但是效率有点低 打开一个报表需要1-3分钟 重开一贴请各位出出主意帮忙优化下 案例里的模板我尽量模拟和实际项目接近的情况,实际打印模板里面穿插了各种子表。案例做了简化,现在主要是解决效率问题。
|
||||
-- 作者:rjh4078 -- 发布时间:2017/9/24 14:55:00 -- |
||||
-- 作者:rjh4078 -- 发布时间:2017/9/24 15:07:00 --
发个商业版的
|
||||
-- 作者:rjh4078 -- 发布时间:2017/9/24 18:29:00 -- |
||||
-- 作者:有点甜 -- 发布时间:2017/9/24 21:08:00 -- 这段代码影响速度,尽量把红色放到外面去,也就是,合并的列的宽度值固定值或者获取一次就好了。
引用的时候不用重复使用如 tempWs.Columns(1) 请定义一个变量记录,重复获取耗时的。
如果你的表格不是规则的,也就是宽度必须相对获取,那么没有优化空间了。
但,再怎么优化,处理一行也大概需要1秒左右。
If rg.MergeCells AndAlso rg.MergeArea.Columns.count>1 Then |
||||
-- 作者:有点甜 -- 发布时间:2017/9/24 21:09:00 -- 代码请自行优化。 |