标题:vfp通过oledb连接excel,如何显示进度?
只看楼主
gxbsdzf
Rank: 2
等 级:论坛游民
帖 子:28
专家分:23
注 册:2019-11-26
结帖率:75%
已结贴  问题点数:20 回复次数:5 
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
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
要快,没有通式,要看取EXCEL文件的具体内容。
2019-12-02 17:20
sostemp
Rank: 4
等 级:业余侠客
威 望:8
帖 子:162
专家分:221
注 册:2009-6-2
得分:2 
把压缩包发上来,大伙试试
2019-12-03 08:32
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:16 
VFP是单进程的,无法做到同时做两样事。

活到老,学到老! http://www. E-mail:hu-jj@
2019-12-03 12:47
hlzcxkj
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2017-9-5
得分:0 
学习
2020-01-22 16:51
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:0 
啊能够先把EXCEL数据转换成DBF格式?
2020-01-26 10:28



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




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

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