Christian has posted 9 posts at DZone. View Full User Profile

Obba: A Java Object Handler for Excel and OpenOffice

07.23.2009
| 2962 views |
  • submit to reddit

Obba iconObba provides a bridge from Speadsheets (Excel or OpenOffice) to Java classes.

With Obba, you can easily build Speadsheets GUIs to Java code.

Its main features are:
  • Loading of arbitrary jar or class files at runtime through an Excel/OpenOffice worksheet 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.
  • Serialization and de-serialization (save Serializable objects to a file, restore them any time later).
  • All this though spreadsheet functions, without any additional line of code (no VBA needed, no additional Java code needed).
  • Spreadsheets using Obba to refer to Java libraries can be easily migrated from Excel to OpenOffice and back!

For a more detailed introduction see the Obba documentation on the Obba homepage.

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 an integer specifying the index. Elements 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).

 

0
Published at DZone with permission of its author, Christian Fries.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)