엑셀 업로드
- 작성자 :
- 권*주
- 작성일 :
- 2014-08-04 16:04:35
- 조회수 :
- 1,276
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
소스 작성은
OPCPackage opcPackage = OPCPackage.open(file.getInputStream());
XSSFWorkbook wb = new XSSFWorkbook (opcPackage);
opcPackage.close();
XSSFSheet sheet = wb.getSheetAt(0); // 사용자 입력 시트
XSSFRow row = sheet.getRow(0); // 사용자 입력 시트 row 가져오기
int column_cnt = row.getPhysicalNumberOfCells(); // 사용자 입력 시트 row Cnt
라고 했구요.
pom.xml은
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
이라고 했는데 아래처럼 되네요....... 어찌 하면 될까요????????
org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)
--------- 중략
at jeus.servlet.engine.HttpRequestProcessor.run(HttpRequestProcessor.java:278)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)
... 29 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument
at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source)
at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:44)
... 34 more
OPCPackage opcPackage = OPCPackage.open(file.getInputStream());
XSSFWorkbook wb = new XSSFWorkbook (opcPackage);
opcPackage.close();
XSSFSheet sheet = wb.getSheetAt(0); // 사용자 입력 시트
XSSFRow row = sheet.getRow(0); // 사용자 입력 시트 row 가져오기
int column_cnt = row.getPhysicalNumberOfCells(); // 사용자 입력 시트 row Cnt
라고 했구요.
pom.xml은
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
이라고 했는데 아래처럼 되네요....... 어찌 하면 될까요????????
org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)
--------- 중략
at jeus.servlet.engine.HttpRequestProcessor.run(HttpRequestProcessor.java:278)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)
... 29 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument
at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source)
at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:44)
... 34 more
A
안녕하세요. 권혁주님.
poi-ooxml을 사용하시는 경우 poi-ooxml-schemas나 ooxml-schemas 둘 중 하나의 schema jar가 필요한 것 같습니다.
다음 URL을 참조하셔서 추가 dependency를 반영해 보십시오.
http://poi.apache.org/overview.html#components
그럼, 즐거운 하루되십시오.
감사합니다.
poi-ooxml을 사용하시는 경우 poi-ooxml-schemas나 ooxml-schemas 둘 중 하나의 schema jar가 필요한 것 같습니다.
다음 URL을 참조하셔서 추가 dependency를 반영해 보십시오.
http://poi.apache.org/overview.html#components
그럼, 즐거운 하루되십시오.
감사합니다.