Excel파일을 DB에 올리는(Insert)작업중이다.
HSSF 경우 xls의 2003버젼.
XSSF의경우 xlsx의 2007버젼 중심.
읽으려면 전체를 메모리에 로드 해 놓고 있어야한다고 한다.
결론은 xls(2003버젼용)으로 저장하여 올리면 용량은 더 늘어나지만 잘 올라간다.
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /contents/excel/action/getImportFileInfo.jsp at line 36
33:
34: //XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(UPLOAD_ABS_PATH_WINDOW+new String(lcFile.getBytes("ISO-8859-1"), "UTF-8")));
35:
36: Workbook wb = WorkbookFactory.create(new FileInputStream(UPLOAD_ABS_PATH_WINDOW+new String(lcFile.getBytes("ISO-8859-1"), "UTF-8")));
37: //Workbook wb = new SXSSFWorkbook(new FileInputStream(UPLOAD_ABS_PATH_WINDOW+lcFile));
38:
39: if(wb != null) {
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
root cause
javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.contents.excel.action.getImportFileInfo_jsp._jspService(getImportFileInfo_jsp.java:369)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
root cause
java.lang.OutOfMemoryError: Java heap space
org.apache.xmlbeans.impl.store.Cur$CurLoadContext.attr(Cur.java:3044)
org.apache.xmlbeans.impl.store.Cur$CurLoadContext.attr(Cur.java:3065)
org.apache.xmlbeans.impl.store.Locale$SaxHandler.startElement(Locale.java:3259)
org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportStartTag(Piccolo.java:1082)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1822)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXMLNS(PiccoloLexer.java:1293)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXML(PiccoloLexer.java:1261)
org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4808)
org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290)
org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400)
org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714)
org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3454)
org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1276)
org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263)
org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)
org.openxmlformats.schemas.spreadsheetml.x2006.main.WorksheetDocument$Factory.parse(Unknown Source)
org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:183)
org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:175)
org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:227)
org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:159)
org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:174)
org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:63)
org.apache.jsp.contents.excel.action.getImportFileInfo_jsp._jspService(getImportFileInfo_jsp.java:220)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.21 logs.
--------------------------------------------------------------------------------
Apache Tomcat/7.0.21
좋은글 감사합니다.
한가지 여쭤보고 싶은게 있는데, 엑셀 양식을 적용해서 사용할 수 있는 어플이 있을까요?
에버노트, 메타모지노트 등을 사용해 봤는데 엑셀양식이 잘 적용이 안되더군요.
저희 회사는 모든 업무가 엑셀로 관리하고 있거든요. 그것도 매번 프린트해서 수기로 작성을 해야한다는 매우 불편한 진실이..
사실 excel과 ventor와는 거기가 좀 있습니다.
엑셀에서는 벡터방식의 그리기는 지원하지 않으니까요.
단순히 엑셀의 수정 작성 보기 편집 등의 기능을 말씀하시는것개인적으로 이라면 폴라리스를 추천드립니다^^
방문 감사드립니다. ^^