Non-Static Methods
Excel functions can be non-static Java methods so long as the class has a public default constructor or a public constructor that takes a single parameter of type ExcelAddIn.
The ExcelAddIn interface can be used to call back into Excel and the Jinx add-in and has, among others, the following methods:
Method | Description |
String getAddInPath() |
Returns the path to the jinx.xll file being used. |
ClassLoader getClassLoader() |
Returns the ClassLoader used to load the classes. |
List<String> getConfigSections() |
Returns a List of config sections parsed from the config file. |
List<String> getConfigSectionKeys(String section) |
Returns a list of keys for a config section. |
boolean hasConfigValue(String section, String key) |
Returns true if a config setting exists. |
String getConfigValue(String section, String key) |
Returns an item from the config. |
<T> convertArgument(Object arg, Class<T> cls) |
Converts an Object passed to an Excel function to a Java type. |
long getExcelApplication() |
Retrieves the COM Excel.Application instance for the current Excel process. |
ExcelReference getCaller() |
Get the calling cell as an ExcelReference instance. |
Future schedule(Runnable task) |
Schedule a callback on the main thread to be run as a macro. |
void log(LogRecord logRecord) |
Logs to the xll log file. |
Full documentation for the ExcelAddIn interface can be found in the javadocs.
The convertArgument method is particularly useful for functions that take a variety of different types or an array of Objects.
Below is a contrived example, but it illustrates a non-static method using a public constructor taking an ExcelAddIn.