Function Help

Any Excel functions registered with @ExcelFunction will be visible in the Excel Function Wizard, unless explicitly marked as hidden by setting the isHidden option.

The function wizard allows the user to see the available arguments to the function, and also shows the function description. The description is set via the description option to @ExcelFunction and should be used to inform the user of the purpose and behaviour of the function.

Argument Descriptions

As well as being able to add function descriptions to give users help when calling the exposed functions, it is also possible to add descriptions to the arguments.

To add argument descriptions the @ExcelArguments annotation has to be added to the method in addition to the @ExcelFunction annotation. Each argument can be given a name and a description.

Taking the example from ExcelFunction Options and adding argument names looks like:

import com.exceljava.jinx.ExcelFunction;
import com.exceljava.jinx.ExcelArguments;
import com.exceljava.jinx.ExcelArgument;

class MyFunction {
    @ExcelFunction(
        value = "HardSums.DoSomething",
        description = "Helpful text for someone who wants to use this",
        category = "Hard Sums",
        isThreadSafe = true
    )
    @ExcelArguments({
        @ExcelArgument(value = "x", description = "helpful text about x"),
        @ExcelArgument(value = "y", description = "helpful text about y"),
    })
    public static double doSomething(double x, double y) {
        double z = HardSums.someComplexAlgorithm(x, y);
        return z;
    }
}

The order of the @ExcelArgument annotations is the same as the method parameters.

IntelliSense

Jinx integrates with the Excel-DNA Intellisense addin. This is a stand-alone addin that provides in-sheet IntelliSense for Excel UDFs, and is deployed independently of the Excel-DNA C# addin toolkit.

To enable IntelliSense for your Excel functions exposed through Jinx, you need to install the Excel-DNA IntelliSense addin as well as the Jinx addin.

When they are both installed Jinx will use the IntelliSense addin to add in-sheet IntelliSense for the functions exposed automatically. The function and argument descriptions you provided for your function via the @ExcelFunction and @ExcelArgument annotations will be visible to the user as they enter the formula. There is no additional configuration or code required.

The latest release of the Excel-DNA Intellisense addin can be downloaded from here
https://github.com/Excel-DNA/IntelliSense/releases

For more information about the Excel-DNA IntelliSense project please see
https://github.com/Excel-DNA/IntelliSense