找回密码
 立即注册

QQ登录

只需一步,快速开始

manabout13

注册会员

4

主题

11

帖子

35

积分

注册会员

积分
35
最新发帖
manabout13
注册会员   /  发表于:2024-10-21 09:54  /   查看:439  /  回复:6
1金币
类似于数据绑定,想通过自定义公式返回一个表格自动填充到SpreadJs表格。 image.png267681578.png

最佳答案

查看完整内容

您好,需要在fromJSON后再次重新计算下,执行下下面这行代码, 结果如下: 但是产生了新的问题,如上图中A,B两列计算不对,是因为A列的公式为 自定义公式EXT本身返回多个值,又包含在另一个EXT公式中,所以产生了问题。 改为下面公式: 结果如下: 最后,在原来demo基础上修改了下返回值[1,2,3],因为A.B两列不足以放下三个值,会产生溢出问题。所以做了下微调,改为返回[1,2]。

6 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-10-21 09:54:22
来自 5#
本帖最后由 Ellia.Duan 于 2024-10-23 14:35 编辑

您好,需要在fromJSON后再次重新计算下,执行下下面这行代码,
  1. workbook.calculate(GC.Spread.Sheets.CalculationType.rebuild)
复制代码

结果如下:
image.png168856810.png

但是产生了新的问题,如上图中A,B两列计算不对,是因为A列的公式为
  1. =EXT("1+3+12+arg1+arg2",C1,EXT("1+1"))
复制代码
自定义公式EXT本身返回多个值,又包含在另一个EXT公式中,所以产生了问题。
改为下面公式:

  1. =EXT("1+3+12+arg1+arg2",C1)
复制代码

结果如下:
image.png559503173.png

最后,在原来demo基础上修改了下返回值[1,2,3],因为A.B两列不足以放下三个值,会产生溢出问题。所以做了下微调,改为返回[1,2]。


回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-10-21 11:32:34
2#
本帖最后由 Ellia.Duan 于 2024-10-21 11:36 编辑

您好,观察您的图片,已经将动态数组设置为true  ,且自定义公式返回数组new GC.Spread.CalcEngine.CalcArray 。
附件提供了一个异步函数返回数组demo。
如下动图所示:
异步函数.gif
您可以修改附件demo ,使问题可以复现,然后上传文件,进行进一步调研。

自定义公式返回数组.html

2.39 KB, 下载次数: 23

回复 使用道具 举报
manabout13
注册会员   /  发表于:2024-10-22 20:07:43
3#
请参考附件,在使用fromJson导入文件后,动态数组无法自动填充
回复 使用道具 举报
manabout13
注册会员   /  发表于:2024-10-23 11:00:16
4#
本帖最后由 manabout13 于 2024-10-23 11:03 编辑

上面的例子不全面,这个例子更合适,导入文件后的公式有问题

JS.zip

7.25 MB, 下载次数: 15

回复 使用道具 举报
manabout13
注册会员   /  发表于:2024-10-23 15:25:30
6#
多谢,已解决
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-23 17:06:16
7#
不客气!那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部