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编辑过]