以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  调用word报表模板非常之慢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141854)

--  作者:xiaoqiwei
--  发布时间:2019/10/12 16:09:00
--  调用word报表模板非常之慢
调用word报表模板非常之慢,起码要几十秒甚至1分钟左右,这样的效率实在不行,有其他比较快的方法
--  作者:有点蓝
--  发布时间:2019/10/12 16:14:00
--  
数据很多?有没有可以测试的例子?

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

--  作者:xiaoqiwei
--  发布时间:2019/10/12 16:25:00
--  
数据并不多,是直接调用模板的这个期间慢,生成数据时还是挺快的
--  作者:有点蓝
--  发布时间:2019/10/12 16:35:00
--  
关闭杀毒软件试试。多试几台电脑,如果都这样,这就没有办法了。

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

--  作者:xiaoqiwei
--  发布时间:2019/10/12 18:08:00
--  

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

 

主要是执行这句代码时慢

 

用 微软的Office 2007

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

--  作者:有点蓝
--  发布时间: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)