Home » Apache POI Architecture

Apache POI Architecture

by Online Tutorials Library

Apache POI Architecture

Apache POI consists of various components and make an architecture to form a working system.

For example, POIFS and HSSF components are used to read and write Microsoft’s Office and Open Office files respectively.

POIFS is the most stable and oldest part of POI. It supports both read and write functionality. It is a port of the OLE 2 Compound Document Format to pure Java. All of our components for the (non-XML) Microsoft Office formats ultimately rely on it.

HSSF component is used to read and write Microsoft Excel 97 (-2003) file format using Java. XSSF is used to read and write Microsoft Excel XML (2007+) file format (OOXML) in Java. SS is a package that provides read and write capability for both formats with a common API.

HWPF is used to handle the Microsoft Word 97 (-2003) file in Java. It supports read, and limited write capabilities.

HSLF is used to handle Microsoft PowerPoint 97(-2003) file format in Java. It provides read and write capabilities.

HDGF is our port of the Microsoft Visio 97(-2003) file format to pure Java. It currently only supports reading at a very low level, and simple text extraction.

HPBF is used to handle the Microsoft Publisher 98(-2007) file format in Java. It currently only supports reading at a low level for around half of the file parts, and simple text extraction.

HMEF is used to handle the Microsoft TNEF (Transport Neutral Encoding Format) file format to pure Java. TNEF is sometimes used by Outlook for encoding the message, and will typically come through as winmail.dat. HMEF currently only supports reading at a low level, but we hope to add text and attachment extraction.

HSMF is responsible to handle of the Microsoft Outlook message file format in Java. It currently supports only some of the textual content of MSG files, and some attachments.

Following are the components of POI with their Maven artifactId.

Component Application Type Maven artifactId
POIFS OLE2 Filesystem Poi
HPSF OLE2 Property Sets Poi
HSSF Excel XLS Poi
HSLF PowerPoint PPT Poi-scratchpad
HWPF Word DOC Poi-scratchpad
HDGF Visio VSD Poi-scratchpad
HPBF Publisher PUB Poi-scratchpad
HSMF Outlook MSG Poi-scratchpad
DDF Escher common drawings Poi
HWMF WMF drawings Poi-scratchpad
OpenXML4J OOXML poi-ooxml plus either poi-ooxml-schemas or
ooxml-schemas and ooxml-security
XSSF Excel XLSX Poi-ooxml
XSLF PowerPoint PPTX Poi-ooxml
XWPF Word DOCX Poi-ooxml
XDGF Visio VSDX Poi-ooxml
Common SL PowerPoint PPT and PPTX poi-scratchpad and poi-ooxml
Common SS Excel XLS and XLSX poi-ooxml

You may also like