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, pdf 다운로드시 필요한 ib-itext.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-all</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>
<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

엑셀 다운로드/업로드 설정 하기