-1

I tried to read an excel file and display it in a jsp page, i use this code below but it get an error message.

Code:

<%@page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<html>
<table border="1">
<%
 short a=0;
  short b=1;
  short c=2;
  short d=3;
  int i=0;
   String   value1="", value2="",value3=" ", value4="";
    String filename ="a.xlsx"; 
    if (filename != null && !filename.equals("")) {
    try{
    FileInputStream fs =new FileInputStream(filename);
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    for (int k = 0; k < wb.getNumberOfSheets(); k++){
    int j=i+1;
    HSSFSheet sheet = wb.getSheetAt(k);
    int rows  = sheet.getPhysicalNumberOfRows();
    for (int r = 0; r < rows; r++){
    HSSFRow row   = sheet.getRow(r);
    int     cells = row.getPhysicalNumberOfCells(); 
    out.write("<br>");
    HSSFCell cell1  = row.getCell(a);
      value1 = cell1.getStringCellValue();
      HSSFCell cell2  = row.getCell(b);
        value2 = cell2.getStringCellValue();
         HSSFCell cell3  = row.getCell(c);
         value3 = cell3.getStringCellValue();
          HSSFCell cell4  = row.getCell(d);
          value4 = cell4.getStringCellValue();
    %>
    <tr><td><%=value1%></td><td><%=value2%></td><td><%=value3%></td><td><%=value4%></td></tr>
    <%
    }
        i++;
    }
    }
    catch(Exception e){
        System.out.println(e);
    }
    }
    %>
    </table>
    </html>

Error message

HTTP Status 500 - Unable to compile class for 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: [14] in the generated java file: [C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java] Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFSheet resolves to a package

An error occurred at line: [15] in the generated java file: [C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java] Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFWorkbook resolves to a package An error occurred at line: [16] in the generated java file: [C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java] Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFRow resolves to a package An error occurred at line: [17] in the generated java file: [C:\Users\Vu\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jpsexcel\org\apache\jsp\index_jsp.java] Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFCell resolves to a package An error occurred at line: 20 in the jsp file: /index.jsp HSSFWorkbook cannot be resolved to a type 17: if (filename != null && !filename.equals("")) { 18: try{ 19:
FileInputStream fs =new FileInputStream(filename); 20:
HSSFWorkbook wb = new HSSFWorkbook(fs); 21: for (int k = 0; k < wb.getNumberOfSheets(); k++){ 22: int j=i+1; 23: HSSFSheet sheet = wb.getSheetAt(k); An error occurred at line: 20 in the jsp file: /index.jsp HSSFWorkbook cannot be resolved to a type 17: if (filename != null && !filename.equals("")) { 18: try{ 19:
FileInputStream fs =new FileInputStream(filename); 20:
HSSFWorkbook wb = new HSSFWorkbook(fs); 21: for (int k = 0; k < wb.getNumberOfSheets(); k++){ 22: int j=i+1; 23: HSSFSheet sheet = wb.getSheetAt(k);

An error occurred at line: 23 in the jsp file: /index.jsp HSSFSheet cannot be resolved to a type 20: HSSFWorkbook wb = new HSSFWorkbook(fs); 21: for (int k = 0; k < wb.getNumberOfSheets(); k++){ 22: int j=i+1; 23: HSSFSheet sheet = wb.getSheetAt(k); 24: int rows = sheet.getPhysicalNumberOfRows(); 25: for (int r = 0; r < rows; r++){ 26: HSSFRow row = sheet.getRow(r); An error occurred at line: 26 in the jsp file: /index.jsp HSSFRow cannot be resolved to a type 23: HSSFSheet sheet = wb.getSheetAt(k); 24: int rows = sheet.getPhysicalNumberOfRows(); 25: for (int r = 0; r < rows; r++){ 26: HSSFRow row = sheet.getRow(r); 27: int
cells = row.getPhysicalNumberOfCells(); 28: out.write("
"); 29: HSSFCell cell1 = row.getCell(a);

An error occurred at line: 29 in the jsp file: /index.jsp HSSFCell cannot be resolved to a type 26: HSSFRow row = sheet.getRow(r); 27: int cells = row.getPhysicalNumberOfCells(); 28:
out.write("
"); 29: HSSFCell cell1 = row.getCell(a); 30:
value1 = cell1.getStringCellValue(); 31: HSSFCell cell2 = row.getCell(b); 32: value2 = cell2.getStringCellValue(); An error occurred at line: 31 in the jsp file: /index.jsp HSSFCell cannot be resolved to a type 28: out.write("
"); 29: HSSFCell cell1 = row.getCell(a); 30: value1 = cell1.getStringCellValue(); 31: HSSFCell cell2 = row.getCell(b); 32: value2 = cell2.getStringCellValue(); 33:
HSSFCell cell3 = row.getCell(c); 34: value3 = cell3.getStringCellValue(); An error occurred at line: 33 in the jsp file: /index.jsp HSSFCell cannot be resolved to a type 30:
value1 = cell1.getStringCellValue(); 31: HSSFCell cell2 = row.getCell(b); 32: value2 = cell2.getStringCellValue(); 33:
HSSFCell cell3 = row.getCell(c); 34: value3 = cell3.getStringCellValue(); 35: HSSFCell cell4 = row.getCell(d); 36: value4 = cell4.getStringCellValue();

An error occurred at line: 35 in the jsp file: /index.jsp HSSFCell cannot be resolved to a type 32: value2 = cell2.getStringCellValue(); 33: HSSFCell cell3 = row.getCell(c); 34: value3 = cell3.getStringCellValue(); 35: HSSFCell cell4 = row.getCell(d); 36: value4 = cell4.getStringCellValue(); 37: %> 38:
<%=value1%><%=value2%><%=value3%><%=value4%> Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450) org.apache.jasper.compiler.Compiler.compile(Compiler.java:361) org.apache.jasper.compiler.Compiler.compile(Compiler.java:336) org.apache.jasper.compiler.Compiler.compile(Compiler.java:323) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.26 logs.

Vũ Khang
  • 1
  • 1
  • 1
  • The error says clearly: "Only a type can be imported. org.apache.poi.hssf.usermodel.HSSFWorkbook resolves to a package" – Jiri Tousek Oct 26 '15 at 15:54

1 Answers1

1

Upload+ read an excel file in a jsp using POI

You can check this issue for read data from excel file with jsp.

İf I were you I'll research how to handle excel sheet with jsp and handle it. After that I create backend java object for read data from sheet and send the sheet from jsp to backend java object.

Community
  • 1
  • 1
m.tuğrul
  • 45
  • 1
  • 10
  • i've read that topic before, but it dosen't work. I am a newbie, i dont know much about it. – Vũ Khang Oct 26 '15 at 16:06
  • I couldn't find any free time today. If I could, I'll give short example about this issue for you. Now first you should research "How to select programmatically excel file with jsp" after that you handle file and sen to backend java code for parsing the excel. – m.tuğrul Oct 26 '15 at 20:42