2016-07-20 3 views
0

Ich versuche Apache POI auf einer JSP zu implementieren, um eine Excel-Datei zu lesen und die Werte einiger Zellen zu nehmen und es auf den Eingaben anzuzeigen, die ich auf meiner Seite habe. Aber ich bin immer diese Fehlermeldung:Exception Implementierung von Apache POI auf einer JSP

type Exception report 

message Unable to compile class for JSP: 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 16 in the jsp file: /helloWorld.jsp 
HSSFWorkbook cannot be resolved to a type 
13: <body> 
14: 
15: <% 
16:   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("excel.xls")); 
17:   HSSFSheet sheet = workbook.getSheetAt(0); 
18:   HSSFRow row = sheet.getRow(1); 
19:   double Something,Something1,Something2,Something3,Something4; 

An error occurred at line: 17 in the jsp file: /helloWorld.jsp 
HSSFSheet cannot be resolved to a type  
14: 
15: <% 
16:   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("excel.xls")); 
17:   HSSFSheet sheet = workbook.getSheetAt(0); 
18:   HSSFRow row = sheet.getRow(1); 
19:   double Something,Something1,Something2,Something3,Something4; 


An error occurred at line: 18 in the jsp file: /helloWorld.jsp 
HSSFRow cannot be resolved to a type 
15: <% 
16:   HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("excel.xls")); 
17:   HSSFSheet sheet = workbook.getSheetAt(0); 
18:   HSSFRow row = sheet.getRow(1); 
19:   double Something,Something1,Something2,Something3,Something4; 



Stacktrace: 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) 
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366) 
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:490) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:379) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341) 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

und das ist der Code, den ich auf meine .jsp Datei:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 

<%@ page import="org.apache.poi.hssf.usermodel.*"%> 
<%@ page import="java.io.*" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head></head> 
<body> 

<% 
    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("excel.xls")); 
    HSSFSheet sheet = workbook.getSheetAt(0); 
    HSSFRow row = sheet.getRow(1); 
    double Something,Something1,Something2,Something3,Something4; 

     Something= row.getCell(0).getNumericCellValue(); 
     Something1= row.getCell(1).getNumericCellValue(); 
     Something2= row.getCell(2).getNumericCellValue(); 
     Something3= row.getCell(3).getNumericCellValue(); 
     Something4= row.getCell(4).getNumericCellValue(); 

%> 

<div> 
    <table> 
     <tr> 
      <td>Something: </td> 
      <td><input type="text" value="<% Something %>"></td> 
     </tr> 
     <tr> 
      <td>Something1: </td> 
      <td><input type="text" value="<% Something1 %>"></td> 
     </tr> 
     <tr> 
      <td>Something2: </td> 
      <td><input type="text" value="<% Something2 %>"></td> 
     </tr> 
     <tr> 
      <td>Something3: </td> 
      <td> <input type="text" value="<% Something3 %>"></td> 
     </tr> 
     <tr> 
      <td>Something4: </td> 
      <td><input type="text" value="<% Something4 %>"></td> 
     </tr> 
    </table> 
</div> 
</body> 
</html> 

Und ich bereits die benötigten JAR-Dateien hinzufügen.


Edit: an einem Anfang der Import wie folgt war:

<%@ page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%> 
<%@ page import="org.apache.poi.hssf.usermodel.HSSFSheet"%> 
<%@ page import="org.apache.poi.hssf.usermodel.HSSFRow"%> 

Aber es wurde über dem Fehler um diesen Fehler zu werfen am Anfang gezeigt:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [14] in the generated java file: [C:\apache-tomcat-7.0.70\apache-tomcat-7.0.70\work\Catalina\localhost\HelloWorldJSP\org\apache\jsp\helloWorld_jsp.java] 
Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFWorkbook resolves to a package 

An error occurred at line: [15] in the generated java file: [C:\apache-tomcat-7.0.70\apache-tomcat-7.0.70\work\Catalina\localhost\HelloWorldJSP\org\apache\jsp\helloWorld_jsp.java] 
Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFSheet resolves to a package 

An error occurred at line: [16] in the generated java file: [C:\apache-tomcat-7.0.70\apache-tomcat-7.0.70\work\Catalina\localhost\HelloWorldJSP\org\apache\jsp\helloWorld_jsp.java] 
Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFRow resolves to a package 
+0

Es ist kein Duplikat von einer Frage, die ich zuvor getan habe, die andere Frage hatte fast das gleiche Problem, aber wurde gelöst, und derjenige, der es löst, sagte mir, eine neue Frage mit dem neuen Fehler zu öffnen. –

Antwort

0

Erste Sie müssen überprüfen, ob die poi.jar Datei in Ihrer exportierten WAR-Datei verfügbar ist oder nicht? Wenn es nicht da ist, dann versuche, deinen Krieg wieder aufzubauen.

wenn ja die versuchen, diese

Verwendung specifice Import-Anweisung wie folgt ...

<%@ page import="org.apache.poi.hssf.usermodel.* ,java.io.*"%> 

statt

<%@ page import="org.apache.poi.hssf.usermodel.*"%> 
<%@ page import="java.io.*" %> 

folgen Sie diesem Link_1 OR Link_2

weil der Fehler Stack-Trace zeigt den Fehler

HSSFWorkbook cannot be resolved to a type //won't be able to find class HSSFWorkbook in library. 

Klasse kann nicht auf eine Art gelöst werden, tritt immer dann auf, wenn eine bestimmte Klasse nicht in Ihrer Krieg Bibliothek ist.

+0

am Anfang war es so, aber es war diesen Fehler für HSSFWorkbook und das gleiche für die anderen (aber anstelle von HSSFworkbook, sagt der Name): Ein Fehler trat in Zeile: [14] in der generierten Java-Datei: [C: \ apache-tomcat-7.0.70 \ apache-tomcat-7.0.70 \ Arbeit \ Catalina \ localhost \ HalloWeltJSP \ org \ apache \ jsp \ helloWorld_jsp.java] Nur ein Typ kann importiert werden. org.apache.poi.hssf.usermodel.HSSFWorkbook wird in ein Paket aufgelöst –

+0

Lassen Sie mich den Code für Sie bearbeiten, um zu sehen, was ich meine. –

+0

Bitte aktualisieren Sie Ihre Frage mit Ihrem neuen Stacktrace Fehler .. Danke. –