© ProStockStudio/Shutterstock.com
Microsoft-Office-Dokumente mit Apache POI erzeugen und einlesen

Dokument - streng vertraulich!


Allen Alternativen zum Trotz werden in der großen und weiten Unternehmenswelt weiterhin Daten, Dokumente und Dateien mit Microsoft Office erstellt, gespeichert, bearbeitet und ausgetauscht. Wenn Ihnen dieser einführende Satz bekannt vorkommt, erinnern Sie sich möglicherweise an die Einleitung eines schon etwas länger zurückliegenden Artikels von mir im Java Magazin [1]. Dieser Artikel behandelte Apache POI und Microsoft Excel. Statt um Worksheets, Zellen, Zeilen oder Charts geht es nun aber um das Erstellen und Einlesen von MS-Word-Dokumenten.

Sollten Sie den Artikel aus grauer JAXenter-Vorzeit jedoch nicht kennen oder sich nicht erinnern können, so soll hier gerne noch ein kurzer Abriss über Microsoft Office, Java und Apache POI erfolgen.

Apache POI ist eine Java-Bibliothek (Kasten: „Apache POI“), die Entwickler*innen dabei unterstützt, Daten in MS-Office-Dokumente zu schreiben, diese Dokumente zu manipulieren und auch auszulesen. Es handelt sich um ein Apache-Top-Level-Projekt. Auf der Projektseite [2] wird die Mission dieser Bibliothek damit beschrieben, ein Java API für die Manipulation verschiedener, auf dem Office-Open-XML-Standard OOXML (Kasten: „OOXML – Office Open XML“) und OLE2 von Microsoft basierender Dateien zur Verfügung zu stellen. Apache POI liefert diverse Komponenten-APIs, beispielsweise für Excel (HSSF/XSSF), PowerPoint (HSLW /XSLW) und Word (HWPF/XWPF), aber auch für Outlook, Visio oder den Publisher (Tabelle 1).

Apache POI

Wofür steht Apache POI überhaupt? Der Name stand ursprünglich als Abkürzung für „Poor Obfuscation Implementation“. Man hielt den ironischen Grundton bei, die HSSF-Komponente für Excel-Dateien bedeutet so viel wie „Horrible Spreadsheet Format“. Wofür das Word-spezifische HWPF-Format steht, wird nicht direkt erklärt, man kann es sich aber durchaus herleiten.

OOXML – Office Open XML

Office Open XML ist ein XML-basiertes Format für Office-Dokumente. Dieses Format ist eine von Microsoft entwickelte Spezifikation und wurde von Ecma International 006 erstmalig standardisiert [6]. Hierbei sei jedoch der Hinweis gestattet, dass Office Open XML nicht mit Open Office bzw. dem Open-Document-Format zu verwechseln ist.

Komponente

Beschreibung

POIFS

Der älteste und stabilste Teil von Apache POI, auf dem alle Komponenten von Apache POI basieren, die nicht auf XML-basierte Microsoft Office-Dokumente zugreifen

HSSF

Implementierung für Dokumente im Excel-97-2007-Dateiformat

XSSF

Implementierung für Dokumente im Excel-20...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang