# Probleme mit POI



## Yaliza (10. November 2004)

Hallo,

ich habe zur Zeit folgender Aufgabe: aus einer Datenbank sollen mit Hilfe eines Java-Programms Daten ausgelesen werden, diese sollen dann in eine Excel-Datei geschrieben werden. Eine sinnvolle Lösung scheint mir dafür das POI zu sein. 

Das zip-Archiv habe ich mir geladen. Leider konnte ich troz intensiver Suche keine Informationen darüber finden, was nun weiter damit zu tun ist. 

Ich habe bisher das Archiv entpackt und den Classpath für das Verzeichnis (in das ich entpackt habe) gesetzt. Das Testprogramm meldet beim compilieren: "_package import org.apache.poi.hssf.usermodel does not exist_". 

In der Entwicklungsumgebung (JCreator LE) habe ich im nächsten Schritt dem Projekt unter "Eigenschaften" bei "Required Libarys" per "Add Archive" die *.jar-Dateien aus dem dem Verzeichnis "lib" hinzugefügt. Der Compiler meldete weiterhin den selben Fehler.

Ich habe danach mit den Dateien Verzeichnis "src/java" in ein jar-Archiv erstellt (per: jar cf poi.jar *) und dieses auch dem Projekt hinzugefügt. Die oben genannte Fehlermeldung trat dann nicht mehr auf. Dafür eine andere: 


> ...
> C:\Sun\poi\lib\poi.jar(org/apache/poi/poifs/filesystem/POIFSFileSystem.java):51: class POIFSFileSystem is public, should be declared in a file named POIFSFileSystem.java
> (source unavailable)
> Note: Some input files use or override a deprecated API.
> ...


Da ich relativ sonst raltiv wenig mit Java arbeite, bin ich leider an dieser Stelle mit meinem Wissen am Ende. Hat vielleicht irgendjemand eine Idee oder weiß wo ich weitere Informationen bekommen könnte (evt. Stichworte nach denen ich noch suchen könnte)?

Vielen Dank!


----------



## hankenberge (10. November 2004)

also zur bearbeitung mit poi kann ich folgende Datei empfehlen. als einstieg sehr nett

http://www.cs.fh-aargau.ch/~gruntz/courses/sem/ss04/poi.pdf

zu deinem weiteren problem!

keine Ahnung, ist mir nicht passiert. Mit eclipse konnte es ohne probleme eingebunden werden


----------



## torsch2711 (10. November 2004)

Es reicht nicht den Classpath auf das Verzeichnis zu setzen. Ich habe noch in erinnerung, dass es ein jar ist, dies muss explizit in den Classpath eingebunden werden, damit es richtig verwendet werden kann.

Noch zur Info: Welches Paket hast du eigentlich von wo heruntergeladen ?

Viele Grüsse

Torsten


----------



## Yaliza (10. November 2004)

Ich habe die Version 2.5.1 final von dieser Seite geladen: http://mirror.serversupportforum.de/apache/jakarta/poi/release/src/poi-src-2.5.1-final-20040804.zip

 Also muss ich jetzt au jeder jar-Datei den Classpath setzten? 

 @hankenberge:
 Was hast du bei Eclipse gemacht, damit das POI eingebunden war? Vielleicht mach ich ja vom Prinzip was total falsch.

 LG


----------



## torsch2711 (10. November 2004)

Jep, du musst jede Jar file einbinden, welche du benötigst.
Ich denke Hankenberge hat in Eclipse die Jar Datei dem Projekt hinzugefügt um die Funktionalität nutzen zu können.

In Eclipse:

Rechtsklick auf das Projekt->Properties->Java Build Path->Libraries und beim Order und Export (falls du es auch ausführen willst!) die Jar files eintragen.


Ich hatte auch mal gedacht, das es langt einfach ein Verzeichnis anzulegen, dort die Jars abzulegen und einfach das verzeichnis anzugeben, hatte aber nicht funktioniert, musste dann jedes jar in den Classpath einbinden.


Grüsse
Torsten


----------



## hankenberge (10. November 2004)

jup ich muss da thorsten recht geben, so ist das.

Du must deiner Umwicklungsumgebung explizit mitteilen wo dein jar-File liegt.

Bedenke auch, wenn du ein Programm erstellt hast in dem du auf das jar Zugreifst, und es ausserhalb der Umwicklungsumgebung starten willst, so musst du den die datei explizit dem classpath mitteilen. 
dazu am besten ein batch datei erstellen oder ein ausführbares jar-file. wie du das machst, wurde bereits vorher ausführlich hier beschrieben

gruss

ingo


----------

