HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: export.test1.createExcelFile(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.outexcel_jsp._jspService(outexcel_jsp.java:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NoSuchMethodError: export.test1.createExcelFile(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
org.apache.jsp.outexcel_jsp._jspService(outexcel_jsp.java:156)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28

解决方案 »

  1.   

    你这个createExcelFile方法写得不对阿
      

  2.   

    NoSuchMethodError 没有找到方法看看是不是你的包没有导入,或是路径不对
      

  3.   

    <jsp:useBean id="test1" scope="page" class="export.test1"></jsp:useBean>
    test1.createExcelFile("D:\\t.xls",list,list1,date1,date2);package export;
    public class test1
    {public  void createExcelFile(String excelFileName,List listname,List listlog,String date1,String date2)
    {
    int days=0;
    try {
    days = getBetweenDays(date1, date2);
    } catch (ParseException e2) {
    e2.printStackTrace();
    }
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 
    try {
    Date d1 = format.parse(date1);
    } catch (ParseException e1) {
    e1.printStackTrace();

    try
    {
    // 创建workbook,worksheet
    WritableWorkbook wkbook = Workbook.createWorkbook(new File(
    excelFileName));
    WritableSheet wksheet = wkbook.createSheet("sheet1", 0); // 设置格式1
    WritableFont time18Bold = new WritableFont(WritableFont.ARIAL, 18,
    WritableFont.BOLD); WritableCellFormat cellFormat = new WritableCellFormat(time18Bold);
    cellFormat.setBackground(Colour.GRAY_25);
    cellFormat.setAlignment(Alignment.CENTRE);
    cellFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
    // 格式2
    WritableFont tahoma18Arial = new WritableFont(WritableFont.ARIAL,
    18, WritableFont.BOLD);
    WritableCellFormat cellFormat1 = new WritableCellFormat(
    tahoma18Arial);
    cellFormat1.setAlignment(Alignment.CENTRE);
    cellFormat1.setVerticalAlignment(VerticalAlignment.CENTRE);
    cellFormat1.setBorder(Border.ALL, BorderLineStyle.THIN);
    cellFormat1.setWrap(true);
    // 格式3
    WritableFont tahoma10Arial = new WritableFont(WritableFont.ARIAL,
    10, WritableFont.NO_BOLD);
    WritableCellFormat cellFormat2 = new WritableCellFormat(
    tahoma10Arial);
    cellFormat2.setAlignment(Alignment.CENTRE);
    cellFormat2.setVerticalAlignment(VerticalAlignment.CENTRE);
    cellFormat2.setWrap(true);
    cellFormat2.setBorder(Border.ALL, BorderLineStyle.THIN); // 第一行
    wksheet.setRowView(0, 600); Label lr = new Label(0, 0, "工作日志", cellFormat1);
    wksheet.mergeCells(0, 0, 10, 0);
    wksheet.addCell(lr); // 第二行1
    lr = new Label(0, 1, "姓名", cellFormat);
    wksheet.setRowView(1, 500);
    wksheet.addCell(lr); // 2 for (int i = 0; i < days; i++)
    {
    lr = new Label(3 * i + 1, 1, "d1", cellFormat); wksheet.mergeCells(3 * i + 1, 1, 3 * i + 3, 1);
    wksheet.addCell(lr); }
    int count=0;
    // 第三行1
    for(int r=0;r<listname.size();r++)
    {
    lr = new Label(0, r+2, (String)listname.get(r), cellFormat1);
    wksheet.setRowView(2, 4000);
    wksheet.addCell(lr);

    // 2
    for (int i = 0; i < days; i++,count++)
    {
    lr = new Label(
    3 * i + 1,
    r+2,
    (String)listlog.get(count),
    cellFormat2);
    System.out.println((String)listlog.get(count));
    System.out.println(count);
    wksheet.mergeCells(3 * i + 1, r+2, 3 * i + 3, r+2);
    wksheet.addCell(lr);
    }
    }
    // 写入excel并关闭
    wkbook.write();
    wkbook.close();
    } catch (IOException e)
    {
    e.printStackTrace();
    } catch (WriteException e)
    {
    e.printStackTrace();
    }
    }
    }
    这就是我调用的过程,参数和文件名调用的有错吗?