2013-05-23 5 views
0

파일 확장명을 xls에서 xlsx 형식 (2007 이상)으로 변경하는 동안 응용 프로그램에서 파일을 내보내는 동안 응용 프로그램을 변경하고 있습니다.Apache POI 3.9로 업그레이드 한 후 Excel 워크 시트를 내보내는 중 오류가 발생했습니다.

POS 3.9 병으로 업그레이드하여 HSSF의 XSSF를 추가하여 필요한 코드를 변경했습니다. 우리가 사용한 Jar 파일의 이전 버전은 POI 3.0입니다.

내가 라이브러리 폴더에 추가 한 다음 항아리 : 나는 응용 프로그램에서 파일을 내보낼하려고 할 때

poi-3.9-20121203 
poi-examples-3.9-20121203 
poi-excelant-3.9-20121203 
poi-ooxml-3.9-20121203 
poi-ooxml-schemas-3.9-20121203 
poi-scratchpad-3.9-20121203 
commons-codec-1.5 
commons-logging-1.1 
junit-3.8.1 
dom4j-1.6.1 
stax-api-1.0.1 
xmlbeans-2.3.0 

JAR 파일을 업그레이드 한 후, 나는 페이지를 얻고는 오류를 표시 할 수 없습니다. 다음은 Excel 아이콘을 클릭하면 콘솔에서 예외가 있습니다 :

com.sun.faces.lifecycle.InvokeApplicationPhase execute #{customerFinancialReportAction.createReport}: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org.apache.poi.ss.usermodel.Font 
           javax.faces.FacesException: #{customerFinancialReportAction.createReport}: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org.apache.poi.ss.usermodel.Font 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:312) 
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:298) 
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:412) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) 
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) 

여기서 어떤 문제가 발생하는지 확실하지 않습니다. 이 문제를 해결하도록 도와주세요.

+0

모든 병을 올바르게 사용할 수 있습니까? 그리고 오래된 POI 3.0 병을 제거 했니? 당신이 주장하는 항아리를 놓치고있는 것처럼 보입니다. – Gagravarr

답변

0
Font font = workBook.createFont(); 
    font.setFontName(XSSFFont.DEFAULT_FONT_NAME);//Is this way you are creating font 
    font.setFontHeightInPoints((short)10); 
    return font; 
관련 문제