找回密码
 立即注册

QQ登录

只需一步,快速开始

dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-1-9 16:44:23
11#
您是否引用的是带 all 的js,如果不是,您需要在使用相关功能之前引用对应的js。
比如 gc.spread.calcengine.10.0.1.min.js 一定要引用,还有gc.spread.calcengine.basicfunctions.10.0.1.min.js
回复 使用道具 举报
yitong
金牌服务用户   /  发表于:2017-1-10 14:51:08
12#

V10的自定义函数怎么加啊。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-1-10 15:07:06
13#
yitong 发表于 2017-1-10 14:51
V10的自定义函数怎么加啊。

自定义函数您看下
http://demo.gcpowertools.com.cn/ ... les/customFunctions

有问题的话您发帖
回复 使用道具 举报
yitong
金牌服务用户   /  发表于:2017-1-10 15:07:18
14#
dexteryao 发表于 2017-1-9 16:44
您是否引用的是带 all 的js,如果不是,您需要在使用相关功能之前引用对应的js。
比如 gc.spread.calcengi ...

Spread.Sheets v10 Designer Source\src\index\index.js
我把自定义方法写在这个js文件里面了,index.html已经引用了。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-1-10 15:22:46
15#
还有一点需要注意,您需要新建一个 GC.Spread.CalcEngine.Functions.Function
执行的方法在evaluate方法中 定义。 不像以前一样传递一个匿名方法就可以了。

function myfunc() {}
myfunc.prototype = new GC.Spread.CalcEngine.Functions.Function("myfunc", 0, 0, {name: "myfunc",description: "This is my first function"});
myfunc.prototype.evaluate = function (args) {
    return 100;
spread.addCustomFunction(new myfunc());
回复 使用道具 举报
yitong
金牌服务用户   /  发表于:2017-1-10 22:20:08
16#
dexteryao 发表于 2017-1-10 15:22
还有一点需要注意,您需要新建一个 GC.Spread.CalcEngine.Functions.Function
执行的方法在evaluate方法 ...

function REP(){}
REP.prototype = new GC.Spread.CalcEngine.Functions.Function("REP", 0, 0, {name: "REP",description: "系统取值函数"});
REP.prototype.evaluate = function (args) {
    return "";
}
GC.Spread.Sheets.designer.wrapper.spread.addCustomFunction(new REP());

这样写有问题吗?
回复 使用道具 举报
yitong
金牌服务用户   /  发表于:2017-1-10 22:21:08
17#
blob595335082.png
为什么我报这个错
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-1-11 08:34:41
18#
应该是您spread还没初始化你就调用了他。
您执行代码需要在  spreadWrapper.js 里的  function reset(init) { 方法之后, 初始化完wookbook再加。
回复 使用道具 举报
yitong
金牌服务用户   /  发表于:2017-1-11 12:01:01
19#
现在不报错了,但是没有达到我想要的效果,页面还是显示#NAME?。
我看了demo,也一样。
blob516541137.png
blob520196837.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-1-11 13:46:37
20#
Demo中要点击按钮后才设置了

        $("#addCustomFunction").click(function() {
            sheet.addCustomFunction(factorial);
            sheet.setFormula(1, 1, "=factorial(5)");
        });
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部