Monday, February 4, 2008

Will Apache POI Support Office Open XML Format?

As I recorded in my last blog entry, OpenXML4J is a Java library under development to open, access, and modify Office 2007 applications' data files in Office Open XML format. I also mentioned that Apache POI has provided useful Excel manipulation support in Java for versions of Excel prior to Excel 2007, but its HSSF library does not support Office Open XML formats (ECMA-376).

It looks like the Apache POI team has started working on support for Office 2007 applications. This work is often referenced as OOXML support for Apache POI. It sounds like they have a nice initial design involving a single interface with two different implementations, one for Office 2007 and one for Office applications pre-dating Office 2007. Another potential promising development is the talk of the Apache POI team and the OpenXML4J team working together. It would be nice to have one area of Java where we don't have multiple and completely disparate APIs and frameworks for doing the same thing.

The article Using Java to Crack Office 2007 shows how one might use Java directly to access Office 2007 files. While Office Open XML format is significantly more approachable than the previous formats used in Office applications, this article demonstrates that it would still be nice to have a library to abstract away some of the details. This is what I hope future versions of Apache POI, or OpenXML4J, or preferably both with the same interchangeable API will offer us in the near future.

Here are some other interesting web links to additional information regarding Apache POI support for Microsoft Office 2007 applications.

Design of OOXML Support Code (16 January 2008)

Initial OOXML Support (30 December 2007)

Using POI with Excel 2007 (30 May 2007)

Fun with Interfaces (Problems in pre-J2SE 5)

No comments: