2010-11-17 7 views
0

J'ai écrit un programme qui lit les entrées du fichier csv et fonctionne correctement. J'ai lu le flux d'entrée du fichier csv comme suit.Lecture de fichier Excel à l'aide du fichier jar POI

BufferedReader br=new BufferedReader(new InputStreamReader(item.getInputStream())); 

Maintenant je change le programme afin de lire l'entrée du fichier Excel. J'ai donc changé le code pour ce format et lors de la compilation il n'y a pas d'erreurs.

POIFSFileSystem ps = new POIFSFileSystem(item.getInputStream()); 
HSSFWorkbook workbook = new HSSFWorkbook(ps); 

Mais lors de la soumission de la page JSP, j'obtiens l'erreur suivante. Quel doit être le problème et où je me suis trompé? S'il vous plaît donnez votre avis.

javax.servlet.ServletException: Servlet execution threw an exception 

root cause 

java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem 
Readcsvv.doPost(Readcsvv.java:120) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

Répondre

0

On dirait que vous avez oublié d'inclure la bibliothèque POI sur la CLASSPATH (par exemple il n'est pas référencé par votre application Web). Vous pouvez inclure cette bibliothèque sous WEB-INF/lib (dans votre archive WAR ou dans le format de répertoire éclaté) ou elle peut se trouver ailleurs sur votre serveur/serveur d'applications CLASSPATH

+0

J'ai inclus la bibliothèque dans le classpath ... donc je n'ai pas eu d'erreur de compilation. – Anand

+0

Je veux dire votre CLASSPATH d'exécution pas votre temps de compilation CLASSPATH. La lib doit être empaquetée dans votre WAR (sous WEB-INF/lib), en supposant que vous utilisez un WAR. –

+0

merci .... je n'ai pas pensé de la façon dont vous avez dit :) maintenant ça fonctionne bien. – Anand

1

Vos fichiers POI ne se trouvent pas dans le classpath. Mettez-les dans le dossier WEB-INF/lib.
Une autre raison moins probable pourrait être que votre version de jars est différente de celles attendues.

Questions connexes