Foxtable(狐表)用户栏目专家坐堂 → 调用word报表模板非常之慢


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

主题:调用word报表模板非常之慢

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


加好友 发短信
等级:三尾狐 帖子:638 积分:7918 威望:0 精华:0 注册:2011/5/5 23:55:00
调用word报表模板非常之慢  发帖心情 Post By:2019/10/12 16:09:00 [只看该作者]

调用word报表模板非常之慢,起码要几十秒甚至1分钟左右,这样的效率实在不行,有其他比较快的方法

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


加好友 发短信
等级:超级版主 帖子:35369 积分:180029 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 16:14:00 [只看该作者]

数据很多?有没有可以测试的例子?

不过word貌似本来就不快。我有时候打开一个空word文件都很慢,更何况调用组件操作word文档。或者可以考虑换其他报表模式

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


加好友 发短信
等级:三尾狐 帖子:638 积分:7918 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2019/10/12 16:25:00 [只看该作者]

数据并不多,是直接调用模板的这个期间慢,生成数据时还是挺快的

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


加好友 发短信
等级:超级版主 帖子:35369 积分:180029 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/12 16:35:00 [只看该作者]

关闭杀毒软件试试。多试几台电脑,如果都这样,这就没有办法了。

调用模板也就是调用office的com组件打开文件而已,没有什么复杂的过程。word模板有没有什么特殊的应用,比如vba或者控件之类的?另外不要使用wps编辑word模板

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


加好友 发短信
等级:三尾狐 帖子:638 积分:7918 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2019/10/12 18:08:00 [只看该作者]

Dim wrt As New WordReport(Tables("出库"),tm,fl) '定义一个WordReport

 

主要是执行这句代码时慢

 

用 微软的Office 2007

[此贴子已经被作者于2019/10/12 18:08:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:35369 积分:180029 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/13 21:05:00 [只看该作者]

我测试第一次Output.Show5秒钟。方便把您的word模板发上来测试一下


Dim d As Date= Date.Now
Dim tm As String  = ProjectPath & "Attachments\出库单.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\出库单.doc" '指定目标文件

Dim wrt As New WordReport(Tables("出库"),tm,fl) '定义一个WordReport
Dim tp As TimeSpan = Date.Now - d
Output.Show(tp.TotalSeconds)
wrt.Build() '逐行生成报表
wrt.Show() '显示报表

tp = Date.Now - d
Output.Show(tp.TotalSeconds)

 回到顶部