以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  我想问下,在异步编程里,能否做excel数据导入?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146655)

--  作者:chen37280600
--  发布时间:2020/2/28 15:19:00
--  我想问下,在异步编程里,能否做excel数据导入?

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

例如上图,假如我有个excel要导入,能否在异步函数里,读取excel?我知道异步里不能用table,但是我想问下,异步里能否用文件读取,excel读取,excel生成,之类的?

按照官方攻略
能用的和不能用的
凡是在主线程中创建的对象,例如Table、Datatable,窗口及窗口控件,菜单及菜单组件,都不应该在异步函数中调用。

那对文件的读取,生成,这些貌似都不在主线程里,好像开异步没啥问题?

--  作者:chen37280600
--  发布时间:2020/2/28 15:43:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

--  作者:chen37280600
--  发布时间:2020/2/28 15:46:00
--  
我感觉这些东西,全部都是在线程里new出来,并不属于主线程,异步是没问题的。但是也没看见官方推荐这个方法

所以就想问下,究竟异步明确什么不能用?为什么excel类读和写,官方没推荐放在异步里,这样不就没啥性能压力了吗?

--  作者:有点蓝
--  发布时间:2020/2/28 16:04:00
--  
这种问题自己测试就知道了。帮助没有说明不能用的基本都可以使用。

专业报表不使用预览preview功能,直接打印或者保存应该是没有问题的

--  作者:chen37280600
--  发布时间:2020/2/28 16:08:00
--  
那preview就肯定不能用啦,不然服务器弹窗都弹爆了。

其实就是视图类功能不能用,防止弹窗弄爆服务器
还有主线程里的功能不能用,防止互相干扰

那些new出来的东西,都没问题,都是新的变量,新的东西,在内存里用完就销毁,就可以开异步,是吧?


--  作者:chen37280600
--  发布时间:2020/2/28 16:14:00
--  
刚才测试了,专业报表在保存的时候,会弹窗····所以也是不能用,不然,服务器弹窗会弹爆···

其实只需要把生成时候的弹窗去掉,专业报表就能用于异步,狐表的异步能力立刻又多了一块领域

Functions.AsyncExecute("print")

output.show(123)
output.show(123)
output.show(123)
output.show(123)
output.show(123)
output.show(123)
output.show(123)
output.show(123)

我这样试了。同步情况下,要生成完才打印123。异步情况下,虽然在不断弹窗,但是后续都在正常执行
[此贴子已经被作者于2020/2/28 16:17:58编辑过]

--  作者:有点蓝
--  发布时间:2020/2/28 16:19:00
--  
是的,差不多就这个意思了。独立的对象都可以在线程里使用。
--  作者:chen37280600
--  发布时间:2020/2/28 16:24:00
--  
那希望官方能把专业报表的生成弹窗去掉,那整套专业报表,都立刻能给HttpRequest用,进一大步了
--  作者:Hopenight
--  发布时间:2020/2/29 15:33:00
--  
以下是引用chen37280600在2020/2/28 16:24:00的发言:
那希望官方能把专业报表的生成弹窗去掉,那整套专业报表,都立刻能给HttpRequest用,进一大步了

墙裂支持


--  作者:有点蓝
--  发布时间:2020/2/29 15:39:00
--  
以下是引用Hopenight在2020/2/29 15:33:00的发言:

墙裂支持

2020最新版已经解决了,下载试试