Overview
What is it?

The POI project is the master project for developing pure Java ports of file formats based on Microsoft's OLE 2 Compound Document Format. OLE 2 Compound Document Format is used by Microsoft Office Documents, as well as by programs using MFC property sets to serialize their document objects.

Sub-Projects

There following are ports, packages or components contained in the POI project.

POIFS

POIFS is the set of APIs for reading and writing OLE 2 Compound Document Formats using (only) Java.

HSSF and XSSF

HSSF and XSSF are the set of APIs for reading and writing Microsoft Excel 97-2007 and OOXML spreadsheets using (only) Java.

HWPF

HWPF is the set of APIs for reading and writing Microsoft Word 97(-XP) documents using (only) Java.

HSLF

HSLF is the set of APIs for reading and writing Microsoft PowerPoint 97(-XP) documents using (only) Java.

HPSF

HPSF is the set of APIs for reading property sets using (only) Java.

POI-Utils

POI-Utils are general purpose artifacts from POI development that have not yet been implemented elsewhere. We're always looking to donate these and maintain them as part of a general library used in another project. These are things we need to complete our mission but are generally outside of it.

Examples

Small sample programs using the POI API are available in the src/examples directory of the source distribution. Before studying the source code you might want to have a look at the "Examples" section of the POI API documentation.

Contributed Software

Besides the "official" components outlined above there is some further software distributed with POI. This is called "contributed" software. It is not explicitly recommended or even maintained by the POI team, but it might still be useful to you.

POI Browser

The POI Browser is a very simple Swing GUI tool that displays the internal structure of a Microsoft Office file and especially the property set streams. Further information and instructions how to execute it can be found in the POI Browser package description.