Foxtable(狐表)用户栏目专家坐堂 → 导出EXCEL的排版问题2-如何优化


  共有5796人关注过本帖树形打印复制链接

主题:导出EXCEL的排版问题2-如何优化

帅哥哟,离线,有人找我吗?
realredred
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
导出EXCEL的排版问题2-如何优化  发帖心情 Post By:2013/12/27 21:42:00 [显示全部帖子]

这是之前发过的问题
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=44223&page=0&move=next

经过小甜甜的指引
折騰了一天
弄出了这个來
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.zip


如今基本达到要求了.
但现在仍存在几个问题

1.因为我是先用字典把要导出的人名集合,再用KEY去把同一人的行,存到臨时表,再用 FOR 在臨时表 一行行加到 XLS表的相应格去. 运行起來,很慢,如果要导出的人数在50人,只导一个月的数据,都花上了半小时.......(这个能,否优化?)

2.现在我只做到是独立的一个人保存一个XLS工作簿,能不能做到保存在一个工作簿里.


图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

每一个人都只能分別保存,想要做到是在一个工作簿,以分页面,分別把各人相关保存.

3.对于一些字节很多的备注,转到XLS超出单元格时,能不能做到自动換行?这个我找了很久帮助都沒找出來.
目标原表

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

这是效果

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

期待能优化到.



[此贴子已经被作者于2013-12-27 21:45:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/12/27 22:57:00 [显示全部帖子]

新建多个SHEET 这个我试过,但无效.
因为是动态人数,SHEET的个数不确定, 不知具体操作.



 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/12/29 20:11:00 [显示全部帖子]

我改了用 GetValues 取到人名
不建臨时表  直接赋值到XLS表
但快不了多少(大约快2秒)
这是加入新的导出 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.zip


多建SHEET 沒头绪..有沒有指引或例子参考?

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/12/29 20:57:00 [显示全部帖子]

如果人员有40人 那麼  要写40个?

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/12/29 22:04:00 [显示全部帖子]

开始有头绪了,先试一下

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/12/30 2:27:00 [显示全部帖子]

成功把所有员工都放在同一个XLS里了.

而且运行时间由原來的110秒
加快至60秒(快了约一倍)
就是无法设定XLS自动換行,不过也很足夠
FOXTABLE实在強大.

感谢小甜甜的耐心指导.图片点击可在新窗口打开查看
[此贴子已经被作者于2013-12-30 2:35:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2014/1/5 18:19:00 [显示全部帖子]

在元旦时间再把代码优化
加快到23秒

图片点击可在新窗口打开查看此主题相关图片如下:進度.gif
图片点击可在新窗口打开查看

[此贴子已经被作者于2014-1-5 18:19:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
realredred
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2014/1/6 23:03:00 [显示全部帖子]

以下是引用don在2014-1-5 18:32:00的发言:
自動換行可用VBA之RowHeight控制,大概如此


        For r1 = n1 To (n1+Rs)
            Rg02 = Ws01.Cells(r1,11)
            If rg02.value IsNot Nothing Then
                n5= rg02.value.Length
                If n5 > 33 Then
                    rg02.RowHeight =16.69*Math.Ceiling(n5/33)
                End If
            End If
        Next



这段代码写在哪里呢?


 回到顶部