Over a million developers have joined DZone.

Obba: A Java Object Handler for Spreadsheets - Version 2.2.9

DZone's Guide to

Obba: A Java Object Handler for Spreadsheets - Version 2.2.9

· ·
Free Resource

Obba iconObba 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, NeoOffice/Mac.

Its main features are:
  • 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 though 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 2.2.9 of Obba brings the following changes:

  • Complete rewrite of Obba logging.
  • Obba for Excel now prints the calling spreadsheet cell to the log file, when a Java exception occurs. This may come in handy when debugging spreadsheets.
  • Added a log window to the Obba Control Panel (enable it via Window -> Show Log Window).
  • Many improvements to the diagnostic output.



Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}