标题:vfp通过oledb连接excel,如何显示进度?
取消只看楼主
gxbsdzf
Rank: 2
等 级:论坛游民
帖 子:28
专家分:23
注 册:2019-11-26
结帖率:75%
已结贴  问题点数:20 回复次数:0 
vfp通过oledb连接excel,如何显示进度?
连接代码如下:
connxls=CREATEOBJECT('adodb.connection')
connxls.OPEN('Provider=Microsoft.Ace.OleDb.12.0;Extended Properties="Excel 12.0; HDR=Yes; IMEX=1";data source=d:\123.xlsx')
这个123.xlsx很大,有12个工作表(sheet),每个表有6万行左右。用户经常要读取这样的大表。原先调用CREATEOBJECT('excel.application')打开,花了十几分钟。后改用上面的oledb连接方式,open()这句用了50多秒,虽明显提速了,但也还有近一分钟的干等过程,用户体验仍然不好,就想加个能显示进度状态的东东。尝试过几种方式,结果发现完全没法呈现,这个过程完全把程序锁定了,什么时钟、动画图等等都“冻住”了。现在只能姑且加一句“正在连接excel,请等待……”。

大伙有什么高招吗?如何能让界面有一点动的东西出来,避免这种假死的状态?
connxls.OPEN()这句有没有返回值、状态值或者其他能拿来做进度的数据?

额外问一下:听说POI读写excel更快,能否用于VFP?怎么调用?先谢谢大家!

[此贴子已经被作者于2019-12-2 16:51编辑过]

搜索更多相关主题的帖子: 连接 显示 vfp excel 进度 
2019-12-02 16:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498176-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.645284 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved