OpenXML4J Project
Office Open XML File Format library for Java
Scenarios
OpenXML4J enables developers to build innovative solutions with this new file format which go beyond the possibilities offered by the previous binary file format (for functional cases, see this page).
Here is a non exhaustive list of the scenarios you'll be able to solve with OpenXML4J :
Styling content
If you must enforce organizational standards for document formatting in your company.

This scenario takes any Open XML document as input, one stylesheet to apply, and makes a restylish document compliant with your organizational formatting.
Content Inspection
There are lots of examples for this kind of scenario, let's introduce the most common use :
Confidential information removal
Remove comments, annotations, document properties, personal information, presentation notes, tracked changes, ... from outbound documents.

Macros removal
For security purposes, remove macros, inappropriate language and content from inbound documents.

Consuming documents
Users create reports as spreadsheet documents, or invoices as wordprocessing documents, which are loaded into a back-end system on a server (LOB/CRM/...)

Note : in this schema, we assume that OpenOffice.org support the Open XML format.
Document assembly
In this scenario, you build a document on the server. For example, you want to make a presentation for your next meeting, you choose the slides that will compose your deck in a web interface and then ask the server to generate your presentation. Or maybe your want the sales report of last month, ask for the server to find the data from various sources, compute statistics and make your spreadsheet for you.

Custom XML Markup
This scenario is used to tag document content with custom semantics for processing by back-end.

The content within the document can be tagged with custom business semantics. This allows the meaning of the data to be defined separately from its presentation, allowing for more robust solutions and simpler programming.
Note that custom tagging can be done with or without an associated schema, and with or without a custom XML data store.