找回密码
 立即注册

QQ登录

只需一步,快速开始

Universail
金牌服务用户   /  发表于:2024-7-1 09:35  /   查看:44  /  回复:8
本帖最后由 Universail 于 2024-7-1 09:38 编辑



原本在自定义公式中,使用 context.setAsyncResult(new GC.Spread.CalcEngine.CalcArray(list)); 返回了列表,但是这个列表没法复制其中的值


然后,想到可以用 sheet.setArray(7, 7, [['value1','value2','value3','value4'], ['value5','value6','value7','value8']]); 来实现数组的区域填充,但是发现没法获取到WorkBook或者WorkSheet对象。


需求:在自定义函数的 evaluateAsync 或者 evaluate 方法中,获取到WorkBook或者WorkSheet对象。或者是否有其他更好的方式将一个数组列表填充到指定Range。





8 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:前天 13:43
沙发
您好,关于此问题“context.setAsyncResult(new GC.Spread.CalcEngine.CalcArray(list)); 返回了列表,但是这个列表没法复制其中的值” 您是否之前有发帖询问此问题,如果没有,您是否可以介绍下这个背景,以及怎么复现此问题。



回复 使用道具 举报
Universail
金牌服务用户   /  发表于:前天 13:47
板凳
Ellia.Duan 发表于 2024-7-1 13:43
您好,关于此问题“context.setAsyncResult(new GC.Spread.CalcEngine.CalcArray(list)); 返回了列表,但是 ...

image.png869421996.png


context.setAsyncResult(new GC.Spread.CalcEngine.CalcArray(list))

公式位置是A1,返回的这个区域内的数据,是没法复制的


回复 使用道具 举报
Universail
金牌服务用户   /  发表于:前天 14:49
地板
一个问题,等了一天,就回复了这么一句?而且你有仔细看我说的内容吗?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:前天 15:23
5#
您好,抱歉让您久等了,我了解到您的问题了,数组公式在绘制的时候并不会真正改变单元格的值,所以复制粘贴是无效的。

您可以参考这个链接中的内容获取spread或sheet对象:https://gcdn.grapecity.com.cn/showtopic-158314-1-1.html

image.png465119628.png
回复 使用道具 举报
Universail
金牌服务用户   /  发表于:前天 15:26
6#
Joestar.Xu 发表于 2024-7-1 15:23
您好,抱歉让您久等了,我了解到您的问题了,数组公式在绘制的时候并不会真正改变单元格的值,所以复制粘贴 ...

是这个意思,我试试
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:前天 17:34
7#
好的后续有问题随时交流。
回复 使用道具 举报
Universail
金牌服务用户   /  发表于:前天 18:09
8#
Joestar.Xu 发表于 2024-7-1 17:34
好的后续有问题随时交流。

案例有点小瑕疵,因此是args.ctx.source

评分

参与人数 1金币 +300 收起 理由
Joestar.Xu + 300 赞一个!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:昨天 09:12
9#
好的,问题解决了就好,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部