Obba: Handling Java Objects in Excel, OpenOffice, LibreOffice and NeoOffice

obba
A new version of Obba has been released: Obba Version 3.1.5.

New in version 3.1: Support for creating objects dynamically from source code, see Class to Object Demo (movie).

Obbaprovides a bridge between spreadsheets and Java classes. With Obba, you can use spreadsheets as GUIs (Graphical User Interfaces) for your Java libraries. Compatible with Excel/Windows, OpenOffice/Win/Mac/Linux, LibreOffice/Win/Mac/Linux, NeoOffice/Mac.

Obba's main features are:Obba Diagram

  • Stateful access to almost all objects and methods running in a Java virtual machine via a fixed set of spread sheet functions.
  • Client/server support: The Java virtual machine providing the add-in may run on the same computer or a remote computer - without any change to the spreadsheet.
  • Loading of arbitrary jar or class files at runtime through a spreadsheet function.
  • Instantiation of Java objects, storing the object reference under a given object label.
  • Invocation of methods on objects referenced by their object handle, storing the handle to the result under a given object label.
  • Asynchronous method invocation and tools for synchronization, turning your spreadsheet into a multi-threaded calculation tool.
  • Allows arbitrary number of arguments for constructors or methods (avoids the limitation of the number of arguments for Excel worksheet functions).
  • Serialization and de-serialization (save Serializable objects to a file, restore them any time later).
  • All this through spreadsheet functions, without any additional line of code (no VBA needed, no additional Java code needed).

Use cases:

  • For Spreadsheet Users: Creating powerful spreadsheet calculations using external libraries, running calculations in Java.
  • For Java Developers: Testing, debugging and analyzing Java libraries with spreadsheets. Setting up unit test in spreadsheets. Using spreadsheets as GUI to your object while debugging.

Advanced Features:

  • Run Obba server (and its JVM) on one machine, while the spreadsheet (with Obba add-in) runs on another machine.
  • Obba allows to create an object from Java source code (dynamically compile source to java.lang.Class, re-load the class definition and instantiate an object from it), see Class to Object Demo (movie).

For tutorials see Obba tutorials. For a more detailed introduction see Obba documentation.

Obba: Handling Java Objects in Excel, OpenOffice, LibreOffice and NeoOffice

obba
A new version of Obba has been released: Obba Version 3.0.6.

Obba provides a bridge between spreadsheets and Java classes. With Obba, you can use spreadsheets as GUIs for your Java libraries; turning your Java library to platform independent spreadsheet add-ins. Compatible with Excel/Windows, OpenOffice/Win/Mac/Linux, LibreOffice/Win/Mac/Linux, NeoOffice/Mac.

Its main features are:
Obba Diagram

  • Stateful access to almost all objects and methods running in a Java virtual machine via a fixed set of spread sheet functions.

  • Client/server support: The Java virtual machine providing the add-in may run on the same computer or a remote computer - without any change to the spreadsheet.

  • Loading of arbitrary jar or class files at runtime through a spreadsheet function.

  • Instantiation of Java objects, storing the object reference under a given object label.

  • Invocation of methods on objects referenced by their object handle, storing the handle to the result under a given object label.

  • Asynchronous method invocation and tools for synchronization, turning your spreadsheet into a multi-threaded calculation tool.

  • Allows arbitrary number of arguments for constructors or methods (avoids the limitation of the number of arguments for Excel worksheet functions).

  • Serialization and de-serialization (save Serializable objects to a file, restore them any time later).

  • All this through spreadsheet functions, without any additional line of code (no VBA needed, no additional Java code needed).



For a tutorial see Obba tutorial. In this tutorial you create a Java class and a spreadsheet to fetch Stock quotes from finance.yahoo.com.

For a more detailed introduction see Obba documentation and Obba home page.

Version 3.0.6 of Obba is a major revision. It brings support for running the Java virtual machine on a different machine, i.e. via Obba, the spreadsheet may perform its Java calculations on a remote machine.

For more information see Obba's homepage.

Obba: Handling Java Objects in Excel, OpenOffice, LibreOffice and NeoOffice

obba
A new version of Obba has been released: Obba Version 2.2.15.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

OpenOffice extension with signed JAR not working

In case you create a Java base OpenOffice extension (.oxt) and stumble across the error message:
ImplementationRegistration::registerimplementation()
InvalidRegistryException during registration (prepareRegistry(): source registry is empty)
it could be related to a signed jar.

A Java based OpenOffice extension (.oxt) using a signed JAR (inside the .oxt bundle) may produce the error above if the the corresponding IDL_Types.jar is unsigned. To produce an OXT with a signed JAR create a .keystore (using keytool) and sign the JAR at the -pre-uno-package build step:

<target name="-pre-uno-package">
   <signjar jar="${dist.jar}" alias="yourAlias" storepass="yourPassword" />
   <signjar jar="${dist.dir}/${idl_types.jar}" alias="yourAlias" storepass="yourPassword" />
</target>

Obba: Handling Java Objects in Excel, OpenOffice and NeoOffice

obba
A new version of Obba has been released: Obba Version 1.9.34.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.9.34 of Obba brings the following changes:

  • Fixed a problem which prevented loading of some classes. The current thread's context class loader was null. This appears to be a problem with the Java plugin. A workaround was created. Note: This problem resulted in the XMLDecoder not working.
  • Fixed a problem which prevented installation of Obba for OpenOffice.
  • More improvements for OpenOffice
  • Arrays of objects can be created using obMake with a class name of ClassName[] where ClassName is the component type (see documentation for an example).
  • Added a demo sheet showing how to access data from finance.yahoo.com. Include the Java source code for the class handling the web access.

How to Fetch Stock Quotes from Yahoo into Excel/OpenOffice using Java

I wrote a small tutorial on how to use Obba and a small Java class to load Yahoo stock quotes into Excel / OpenOffice. It is just an example and could easily extended to other data / web sites.

Java code and spreadsheets are included.

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.9.13.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.9.13 of Obba brings the following changes:
  • Added a window to the Obba Control Panel which visualizes the objects and their dependencies in a graph. The dependencies are determined by the objects used during construction an object.
  • Improved the handling of transient object handles.

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.8.21.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.8.21 of Obba brings the following changes:

  • Access fields of an object directly through a spreadsheet function call using 'obCall'. In this case the method name has to be dot + fieldname (e.g '.myMember').
  • Access elements of an array through a spreadsheet function call using 'obCall'. In this case the method name has to be '[]' and the argument of the call is integer specifying the index. Element of multi-dimensional arrays can be accessed likewise.
  • Vector arguments can be passed as arbitrary ranges (columns, rows or two dimensional ranges which are then flattened using row major).

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.7.29.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

This release fixes two small bugs in connection with the software registration: For OpenOffice the location where the registration is stored changed (you have to reenter registration data).