Java und PHP: Excel-Datei auslesen

Artikel Inhalt
Java und PHP: Excel-Datei auslesen
Quelltext jexcel_to_csv
Excel-Datei in ein PHP-Array konvertieren

ImageImmer mal wieder kommt es vor, dass mir Daten als Excel-Datei geliefert werden. In aller Regel sollen diese in einee Datenbank verschwinden.
In der Vergangenheit habe ich die Excel-Datei in OpenOffice geöffnet, als CSV-Datei gespeichert und dann die CSV-Datei mit einem Script(z.B. PHP) weiter verarbeitet.

Das ist für mich als Programmierer, ist das, natürlich sehr unbefriedigend. Also ging ich auf die Suche nach einer Bibliothe, mit der ich eine Excel-Datei auuslesen kann. Fündig wurde ich unter http://www.excelreader.com/ (eine PHP-Bibliothek) und unter http://jexcelapi.sourceforge.net/ (eine Java-Bibliothek). Entschieden habe ich mich dann für die Java-Variante.

Eine Excel-Datei in eine CSV-Datei konvertieren

In den Java-Excel-API-Package wird ein Beispielprogramm mitgeliefert, das die ganze Arbeit für uns übernimmt.

         java -jar jxl.jar -csv myspreadsheet.xls

Die Ausgabe erfolgt auf Standard-Out.

Verwendung in PHP

Die Daten der Excel-Datei will ich nun unbedingt in PHP weiter verarbeiten. Also schreibe ich eine kleinee PHP-Funktion, welche wie oben gezeigt das Java-Programm aufruft und die Ausgabe weiter verarbeitet.
Den Aufruf von Java mache ich mit der PHP-Funktion proc_open, die mir ein paar Pipes liefert, auf denen ich die Ausgabe des Programmes (die CSV-Daten) lesen kann. 

Auf der nächsten Seite ist der Quelltext der Funktion.