Custom Formula Functions"

From Documentation
Line 3: Line 3:
  
  
 +
= Overview=
 
Spreadsheet allows developers to implement their own custom formulas and use these formulas like built-in ones. You can just enter your custom formula like <tt>=MYFORMULA(A1)</tt> and it works like other formulas. To implement such a custom method is easy: just create a static method and declare it in a ZUL page with  EL method or tag library.
 
Spreadsheet allows developers to implement their own custom formulas and use these formulas like built-in ones. You can just enter your custom formula like <tt>=MYFORMULA(A1)</tt> and it works like other formulas. To implement such a custom method is easy: just create a static method and declare it in a ZUL page with  EL method or tag library.
  
1. simple formula.
+
Main steps to add a custom formula for Spreadsheet:
Spreadsheet evaluate arguments for you. Evaluate each argument as a single value, so only the first cell of a range of cells is evaluated.
+
# Implement a public static method
argument number is fixed.
+
# Declare in a ZUL page with Spreadsheet component
 +
#: You could use [[ZUML_Reference/ZUML/Processing_Instructions/xel-method]] or [[ZUML_Reference/ZUML/Processing_Instructions/taglib/Custom_Taglib]]
  
2. multiple arguments numeric formula
+
After completing above steps, you can use the custom formula in Spreadsheet.
  
3. multiple arguments formula
+
 
 +
= Implement a Formula =
 +
Basically, to implement a formula is just like implementing a static Java method, but depending on your requirements there are several ways to do it. We will introduce them from easy to complicated one.
 +
 
 +
== 1. Simple Formula==
 +
If your formula accepts fixed number of arguments and  each argument is a single value (or a reference to a single cell), you can use this way to implement your custom formula.
 +
 
 +
===  Example ===
 +
Assume that we are going to create a money exchange formula that accepts 2 double arguments and return exchange result. The first one is money, and the second one is exchange rate.
 +
 
 +
<source lang='java'>
 +
public class MyCustomFormulas {
 +
 +
public static double exchange(double money, double exchangeRate) {
 +
        return money * exchangeRate;
 +
    }
 +
}
 +
</source>
 +
so only the first cell of a range of cells is evaluated.
 +
Spreadsheet evaluate arguments for you.
 +
.
 +
 
 +
== 2. Multiple Arguments Numeric Formula ==
 +
 
 +
== 3. Multiple Arguments Formula ==

Revision as of 08:30, 17 July 2013


Custom Formula Functions




Overview

Spreadsheet allows developers to implement their own custom formulas and use these formulas like built-in ones. You can just enter your custom formula like =MYFORMULA(A1) and it works like other formulas. To implement such a custom method is easy: just create a static method and declare it in a ZUL page with EL method or tag library.

Main steps to add a custom formula for Spreadsheet:

  1. Implement a public static method
  2. Declare in a ZUL page with Spreadsheet component
    You could use ZUML_Reference/ZUML/Processing_Instructions/xel-method or ZUML_Reference/ZUML/Processing_Instructions/taglib/Custom_Taglib

After completing above steps, you can use the custom formula in Spreadsheet.


Implement a Formula

Basically, to implement a formula is just like implementing a static Java method, but depending on your requirements there are several ways to do it. We will introduce them from easy to complicated one.

1. Simple Formula

If your formula accepts fixed number of arguments and each argument is a single value (or a reference to a single cell), you can use this way to implement your custom formula.

Example

Assume that we are going to create a money exchange formula that accepts 2 double arguments and return exchange result. The first one is money, and the second one is exchange rate.

public class MyCustomFormulas {
	
	public static double exchange(double money, double exchangeRate) {
        return money * exchangeRate;
    }	
}

so only the first cell of a range of cells is evaluated. Spreadsheet evaluate arguments for you. .

2. Multiple Arguments Numeric Formula

3. Multiple Arguments Formula