yin_tb 发表于 2021-9-30 09:06:38

spread.net做财务报表,怎么实现公式中带参数的数据库取数

如题,报表中,并不像Excel等一样,定义公式在本表的单元格计算或用一些通用函数计算。 一个财务报表“资产负债表”,里面很多需要自定义公式,比如里面有一个单元格,存货,它的公式取几个项目的累计发生,
公式为:LFS("1211",@iyear,@imonth,"借")+LFS("1241",@iyear,@imonth,"借")

当计算时,传入年月@iyear和@imonth两个参数,然后通过查询数据库或本地datatable中取数计算,
请问,这种公式,在spread里,得怎么弄?

Richard.Ma 发表于 2021-9-30 09:06:39

Speread有提供自定义公式功能,可以参考下面的链接
https://www.grapecity.com/spreadnet/docs/v14/online-win/spwin-formulacustomfunc.html

Richard.Ma 发表于 2021-10-7 17:41:49

问题已经收到,明天帮您验证后回复

yin_tb 发表于 2021-10-8 15:05:35

收到,谢谢

Richard.Ma 发表于 2021-10-8 16:06:07

不客气

Cr9527 发表于 2022-1-17 11:40:41

yin_tb 发表于 2021-10-8 15:05
收到,谢谢

大佬,你这个功能实现了么,能给个联系方式不,想请教下

Richard.Ma 发表于 2022-1-17 15:25:11

可以私信看看,

我建议你直接参考自定义公式的方法自己来写,如果遇到问题的话,可以发新贴咨询

yin_tb 发表于 2022-1-18 08:36:04

Cr9527 发表于 2022-1-17 11:40
大佬,你这个功能实现了么,能给个联系方式不,想请教下

本帖中,版主马老师回的消息,那个链接示例,你看一下就会了,很简单呀

Richard.Ma 发表于 2022-1-18 10:15:02

嗯,根据自己的需要写函数就行

Cr9527 发表于 2022-1-18 10:20:03


                  public class TaxValueFunction : GrapeCity.CalcEngine.Function
{
    public TaxValueFunction() : base("TAXVALUE", 1, 2, FunctionAttributes.SingleCell | FunctionAttributes.Number) { }
    protected override void Evaluate(IArguments arguments, IValue result)
    {
      IEvaluationContext context = arguments.EvaluationContext;
      double num = arguments.GetNumber(context);
      double taxrate = arguments.Count > 1 ? arguments.GetNumber() : 0.15;
      result.SetValue(null, num - (num * taxrate));
    }
}

                我看了那个链接,把代码粘下来是报错的,是需要引用什么东西吗,小白第一次用这个控件:dizzy:
页: [1] 2
查看完整版本: spread.net做财务报表,怎么实现公式中带参数的数据库取数