Apache POI: manipolare documenti Microsoft in Java

Il progetto Apache POI ha come obiettivo quello di creare delle API Java per poter manipolare i diversi formati su cui sono basati i documenti Office di Microsoft, in particolare l’API è in grado di manipolare file di tipo OOXML (Office Open XML) e di tipo OLE 2 (OLE 2 Compound Document). Lo standard OLE 2 comprende i file di Office con estensione XLS, DOC e PPT mentre lo standard OOXML comprende quelli con estensione XLSX, DOCX e PPTX.

Le API per OLE 2 si appoggiano su API di livello più basso chiamate POIFS (OLE2 Filesystem) che serve per manipolare il contenuto del file, e HPSF (OLE2 Document Properties) che si occupa di manipolare le proprietà del file, quali il titolo o l’autore. Le API per OOXML si appoggiano invece sulla libreria openxmlj4. In ogni caso non ci troveremo ad usare queste librerie di basso livello ma utilizzeremo quelli che vengono chiamati “componenti”.

Per ogni applicazione Office esiste un suo componente, che fornisce una API di livello più alto di astrazione per manipolare i file in formato OLE 2 e OOXML. Per Excel i moduli sono HSSF (per OLE 2) e XSSF (per OOXML) ed esiste un modulo per manipolare entrambi i formati che si chiama SS, per Word sono HWPF e XWPD mentre per PowerPoint sono HSLF e XSLF.

Ultimamente è stato incluso il supporto preliminare per Outlook (HSMF), Visio (HDGF) e Pubblisher (HPBF).

Il progetto Apache POI è alla base di altri progetti Apache quali Lucene, di cui abbiamo parlato in questo articolo, e Tika.

Possiamo scaricare le API come pacchetto zip o tar all’indirizzo:

http://poi.apache.org/download.html

tale archivio comprende diversi jar file che non sono tutti necessari ma dipendono dal formato e dal tipo di file  che vogliamo utilizzare secondo questo schema:

Componente Tipo di file File .jar
POIFS OLE2 FileSystem poi-version-yyyymmdd.jar
HPSF OLE2 Property Set poi-version-yyyymmdd.jar
HSSF Excel XLS poi-version-yyyymmdd.jar
HSLF PowerPoint PPT poi-scratchpad-version-yyyymmdd.jar
HWPF Word DOC poi-scratchpad-version-yyyymmdd.jar
HDGF Visio VSD poi-scratchpad-version-yyyymmdd.jar
HPBF Pubblisher PUB poi-scratchpad-version-yyyymmdd.jar
HSMF Outlook MSG poi-scratchpad-version-yyyymmdd.jar
XSSF Excel XLSX poi-ooxml-version-yyyymmdd.jar
XSLF PowerPoint PPTX poi-ooxml-version-yyyymmdd.jar
XWPF Word DOCX poi-ooxml-version-yyyymmdd.jar
OpenXML4J OOXML poi-ooxml-schemas-version-yyyymmdd.jarooxml-schemas-version-yyyymmdd.jar

Inoltre questi jar hanno a loro volta dei jar come prerequisiti:

File .jar Prerequisiti
poi-version-yyyymmdd.jar commons-logging, log4j
poi-scratchpad-version-yyyymmdd.jar poi-version-yyyymmdd.jar
poi-ooxml-version-yyyymmdd.jar poi-version-yyyymmdd.jar, poi-version-yyyymmdd.jar
poi-ooxml-schemas-version-yyyymmdd.jar xmlbeans, geronimo-stax-api_1.0_spec
ooxml-schemas-version-yyyymmdd.jar xmlbeans, geronimo-stax-api_1.0_spec
1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (Nessun voto ancora)
Loading...
You can leave a response, or trackback from your own site.

Leave a Reply

*