IBSheet의 엑셀모듈은 오픈 소스인 poi 라이브러리를 이용하여 구현되었습니다.
poi 라이브러리와 당사에서 제공하는 라이브러리가 WEB-INF/lib 폴더에 존재해야 엑셀 다운로드/업로드가 가능합니다.
엑셀 다운로드 시 필요 파일 목록 확인(링크)
Maven dependency 설정은 아래의 방법으로 한다.
<dependencies> <!--이미지 처리 관련 JAR--> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-all</artifactId> <version>1.17</version> <type>pom</type> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>xml-apis</groupId> <artifactId>xml-apis-ext</artifactId> <version>1.3.04</version> </dependency> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>xmlgraphics-commons</artifactId> <version>2.9</version> </dependency> <!--엑셀 처리 관련 JAR--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.19</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>3.6.1</version> </dependency> <dependency> <groupId>com.github.virtuald</groupId> <artifactId>curvesapi</artifactId> <version>1.06</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>SparseBitSet</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>3.1.0</version> </dependency> </dependencies>
단, ibsheet 엑셀 다운로드/업로드 코어 파일 ibsheet8-x.x.x.jar, pdf 다운로드시 필요한 ib-itext.jar 는 scope를 system으로 설정하여 해당 의존성을 로컬파일 시스템에서 직접 참조하거나 Local Repository를 구성한다.
scope system 지정 하는 부분은 아래 내용을 참고해주세요.
<!-- ibsheet excel 다운로드 관련 --> <dependency> <groupId>ibsheet.ui</groupId> <artifactId>ibsheet8</artifactId> <version>1.1.1</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ibsheet8-1.1.1.jar</systemPath> </dependency> <dependency> <groupId>ib-itext</groupId> <artifactId>ib-itext</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ib-itext.jar</systemPath> </dependency>
systemPath로 직접 jar파일의 경로를 지정해주시면 됩니다.
그리고 Local Repository구성하는 방법은 아래 링크를 참조해주시기 바랍니다.
https://sleepyeyes.tistory.com/43
ALSO