找回密码
 立即注册

QQ登录

只需一步,快速开始

Chinaiss

注册会员

7

主题

14

帖子

57

积分

注册会员

积分
57
Chinaiss
注册会员   /  发表于:2016-11-9 15:36  /   查看:3574  /  回复:3
添加自定义函数中有多个参数需要传递时,需要该怎么设置公式:红色部分设置无效
_gcSpread.AddCustomFunction(new CubeAreaFunctionInfo());
_gcSpread.ActiveSheet.SetFormula(11, 11, "CUBEAREA(4,5,6)");

public class CubeAreaFunctionInfo : CalcFunction
    {

        public override object Evaluate(object[] args)
        {
            double width = CalcConvert.ToDouble(args[0]);
            double length = CalcConvert.ToDouble(args[1]);
            double height = CalcConvert.ToDouble(args[2]);

            return width * length + length * height + height * width;
        }

        public override int MaxArgs
        {
            get { return 1; }
        }

        public override int MinArgs
        {
            get { return 1; }
        }

        public override string Name
        {
            get { return "CUBEAREA"; }
        }
    }

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-9 17:45:04
沙发
您有三个参数

需要设置 MaxArgs >=3
        public override int MaxArgs
        {
            get { return 3; }
        }
回复 使用道具 举报
Chinaiss
注册会员   /  发表于:2016-11-9 17:48:55
板凳
dexteryao 发表于 2016-11-9 17:45
您有三个参数

需要设置 MaxArgs >=3

可以了
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-10 09:17:05
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部