找回密码
 立即注册

QQ登录

只需一步,快速开始

KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-30 15:54:56
21#
您把这一行代码改为:

  1. sheet.setFormula(5, 5, "=MyFunction(A1:C2, A3:C5)");
复制代码


这样就可以正常运行了。

回复 使用道具 举报
jasonleeoffice
注册会员   /  发表于:2018-10-31 11:23:00
22#
KevinChen 发表于 2018-10-30 15:54
您把这一行代码改为:

只能支持单个函数获取?那我就要把所有的方法都重写一遍?   
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-31 11:53:11
23#
你要获取原生公式的引用range,不需要这么麻烦,可以通过formulaToRanges方法来实现。

我给你上传一个Demo,Demo中先挂起了整个sheet的公式运算,

然后设置公式、获取引用范围,获取到引用范围后你可以操作范围内的值,

然后恢复公式运算,这样就实现了你预先处理公式引用范围内单元格值的需求。

FormulaToRanges.html

1.69 KB, 下载次数: 364

回复 使用道具 举报
jasonleeoffice
注册会员   /  发表于:2018-12-19 17:26:20
24#
KevinChen 发表于 2018-10-31 11:53
你要获取原生公式的引用range,不需要这么麻烦,可以通过formulaToRanges方法来实现。

我给你上传一个De ...

这样是可以获取到区域中的内容,但是我还要根据内容来控制结果的修约,这种情况有没有什么好办法?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-20 08:54:45
25#
jasonleeoffice 发表于 2018-12-19 17:26
这样是可以获取到区域中的内容,但是我还要根据内容来控制结果的修约,这种情况有没有什么好办法?

您能否举个例子说明一下,您想要实现的功能?
回复 使用道具 举报
jasonleeoffice
注册会员   /  发表于:2018-12-20 10:18:10
26#
本帖最后由 jasonleeoffice 于 2018-12-20 10:21 编辑
KevinChen 发表于 2018-12-20 08:54
您能否举个例子说明一下,您想要实现的功能?

例如:A1=0.000  A2=0.000 A3=0.000      A4=sum(A1:A3)   最后结果就是0.000     最后的结果是根据公式中区域的值的位数来修约的,如果A1:A3 都是两位小数,那么公式结果就保留两位小数,如果公式里包含多个区域,那么就要获取所有区域的值来判断最后修约多少位,如果区域中有两位小数有三位小数,按位数最多的来修约
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-20 16:41:49
27#
jasonleeoffice 发表于 2018-12-20 10:18
例如:A1=0.000  A2=0.000 A3=0.000      A4=sum(A1:A3)   最后结果就是0.000     最后的结果是根据公式 ...

您好,之前给您发过一个CustomFormula的Demo,

在MyFunction.prototype.evaluate函数中可以拿到单元格的引用,

下边获取引用单元格的值时,可以用getText() 方法,参考API:

http://help.grapecity.com/spread ... ksheet~getText.html

使用getText可以获得格式化数字的字符串,这样您可以判断后边的0的位数。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-24 18:17:25
28#
您好,今天我们同事与您进行了电话沟通,很抱歉之前一直没能100%理解您的需求。

目前Spread JS并不支持嵌套公式获取引用,比如您希望将类似“=SUM(SUM(A1:A5), SUM(B1:B5))”

的公式中,外部公式获取内部公式的参数,在原生函数中无法实现您这个需求,

自定义函数中,您外部函数中得到的也是内部函数返回的结果,而无法得到内部函数引用的单元格。


但是,如果您嵌套的最内层函数是自定义函数,这样您可以定义一个外部变量,用来保存所有的引用范围。

这样您就可以在外部函数中得到公式中所有引用的单元格位置了。
回复 使用道具 举报
jasonleeoffice
注册会员   /  发表于:2018-12-28 11:48:02
29#
KevinChen 发表于 2018-12-24 18:17
您好,今天我们同事与您进行了电话沟通,很抱歉之前一直没能100%理解您的需求。

目前Spread JS并不支持 ...

如果我只获取公式中随便一个单元格的值,能获取到吗?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-28 12:27:31
30#
jasonleeoffice 发表于 2018-12-28 11:48
如果我只获取公式中随便一个单元格的值,能获取到吗?

您好,单元格的值,也需要根据单元格的引用来获取呀,否则没办法知道您要获取的是哪个单元格的值。

所以您要获取具体某个单元格的值,目前也只能通过上边的思路来,先拿到引用,再getValue。
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 立即注册
返回顶部