找回密码
 立即注册

QQ登录

只需一步,快速开始

spreadforwindow
注册会员   /  发表于:2018-12-28 17:00:13
11#

你好,我还是不太明白,我们以前是在sheetView.addCustomFunction加公式functionInfo,而且我看实现的也是调用的那个ICustomFunctionSupport的接口,并且在12版本上 提示我添加的方式过时; 那有没有什么例子可以参考下吗? FpSpread.addCustomFunction添加的是Function;所以现在还挺纠结的;我们自定义的公式挺多的;
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-29 13:03:06
12#
抱歉我还是不太明白您的问题
  1. public class TaxValueFunction : GrapeCity.CalcEngine.Function
  2.     {
  3.         public TaxValueFunction() : base("TAXVALUE", 1, 2, FunctionAttributes.SingleCell | FunctionAttributes.Number) { }
  4.         protected override void Evaluate(IArguments arguments, IValue result)
  5.         {
  6.             IEvaluationContext context = arguments.EvaluationContext;
  7.             double num = arguments[0].GetNumber(context);
  8.             double taxrate = arguments.Count > 1 ? arguments[1].GetNumber() : 0.15;
  9.             result.SetValue(null, num - (num * taxrate));
  10.         }
  11.     }
  12. fpSpread1.ActiveSheet.AddCustomFunction(new TaxValueFunction());
复制代码


虽然方法过时,但是为了兼容性,使用都是没有问题的。如果是因为之前说的a为空,可以提供下代码我们看到底什么问题
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-8 09:29:39
13#
dexteryao 发表于 2018-12-29 13:03
抱歉我还是不太明白您的问题

a为空的原因是,我们原先的机制是将我们编译好的公式 放在内存里用,赋值给sheetView,现在 更改了之后发现只能给一个FpSpread,我写了一个克隆方法;但是还有一个问题就是我发现单元格上的Formula是有值(以前的文件,有自定义公式)但是却显示为错误信息;我已经将所有的公式都加载到FPSpread里了呀
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-8 18:01:13
14#
我建议还是您直接提供一个可以重现问题的Demo,这样我们处理更方便,从您的描述我能理解问题,但是不清楚怎么去重现他
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-9 09:23:24
15#
在FpSpread控件上已经将自定义公式添加好,

FpSpread.AddCustomFunction.xlsx.zip

8.68 KB, 阅读权限: 150, 下载次数: 1

回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-9 15:32:26
16#
我尝试新建新的文档输入公式,显示的效果是可以的;但是保存再打开之后还是像我上传的附件的效果一致;
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-9 19:49:57
17#
给我个程序,这个excel我还是没法重现问题。
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-14 16:44:17
18#
dexteryao 发表于 2019-1-9 19:49
给我个程序,这个excel我还是没法重现问题。

你好,我这边的demo可能没法给,涉及到很多工程之间的东西,而且公司保密比较严格;
目前的进展是新建表格之后输入公式,调用保存excel再重新打开这文件之后,出现公式为#NAME?新建输入显示都没有问题;为什么会出现这种情况呢?
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-14 16:47:39
19#
dexteryao 发表于 2019-1-9 19:49
给我个程序,这个excel我还是没法重现问题。

excel公式是没有问题,只是我的自定义公式打开之后才会出现#NAME?,而且我在打开的表格里手动输入公式显示也是正常的,再保存打开还是会有错误;
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2019-1-15 14:29:43
20#
版主 我上传了个demo你看看哦

Projects.zip

18.71 MB, 阅读权限: 100, 下载次数: 1

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部