IBSheet의 서버모듈은 오픈 소스인 poi 라이브러리를 이용하여 다운로드를 구현되었습니다.
poi 버전의 라이브러리와 당사에서 제공하는 라이브러리가 WEB-INF/lib 폴더에 존재해야 엑셀 다운로드가 가능합니다.
엑셀 다운로드 시 필요 파일 목록 확인(링크)
poi 3.13과 poi 4.1.2 두 가지 버전을 제공합니다.
이 때 전달드리는 jar 파일 목록을 직접 올리지 않고 Maven Repository와 같은 곳에서 dependency 를 등록하여 사용 가능합니다.
단, ibsheet 서버모듈인 ibsheet8-x.x.x.jar와 이미지 처리 관리 모듈인 batik-all-xml.jar 은
scope를 system으로 설정하여 해당 의존성을 로컬파일 시스템에서 직접 참조하거나 Local Repository를 구성해주셔야 합니다.
(batik-all-xml.jar 은 내부적으로 여러개의 jar 파일을 한번에 묶어서 컴파일한 jar 입니다.
ibsheet 이미지 처리 모듈에 맞게 묶었기 때문에 Maven Repository 설정이 어렵습니다.)
버전별 dependencies 내용은 아래와 같습니다.
1. poi 버전이 3.13인 경우
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
2. poi 버전이 4.1.2인 경우
<dependencies>
<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>
3. 로컬인 경우
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>batik</groupId>
<artifactId>batik-all</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/batik-all-xml.jar</systemPath>
</dependency>
systemPath로 직접 jar파일의 경로를 지정해주시면 됩니다.
그리고 Local Repository구성하는 방법은 아래 링크를 참조해주시기 바랍니다.
https://sleepyeyes.tistory.com/43
ALSO