티스토리 뷰
엑셀 업로드 양식 생성
회사 프레임워크에서 net.sf.jxls 라이브러리 를 사용하여 엑셀 출력을 한다.
이번에 출력해야하는 양식은 첨부한 엑셀 처럼 sheet 별로 다른 목록을 가져오는 양식이다.
그러나 net.sf.jxls 로 multi sheet 에 목록을 가져 올수 있지만, 1가지 컬렉션(list) 에 대해서만 가져올수 있는 듯 했다.
그래서 찾은게 Org.jxls:jxls 이다.
(http://mvnrepository.com/ 에서 jxls 검색하면 다나옴.)
sheet 별로 다른 목록을 가져 올수도 있고, xml 을 사용하여 설정하는등 다양하고 유용한 기능이 많아보인다.
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.2.9</version>
</dependency>
Org.jxls:jxls 에서 제공하는 라이브러리는 jdk 1.7 이상을 지원한다. 그러나 서버에는 1.6 이 설치되어있고 운영되고 있는 상태다.
그래서 소스를 받아서 1.6 으로 바꾸고 에러나는 부분만 주석걸거나 수정하여서 재컴파일했다. (jxls, jxls-jexcel, jxls-poi)
재컴파일한 라이브러리들을 weblib 폴더에 3개의 library 를 추가해도 의존 하는 라이브러리들이 없어서 작동하지 않는다. 의존 관계인 라이브러리들을 찾아서 넣어주면 되겠지만 너무 많아지면 lib 관리가 힘들어질거라 생각해서 maven 을 활용하여 재컴파일한 라이브러리를 등록하기로 했다.
<repository>
<id>in-project</id>
<name>custom jars</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.basedir}/my_repo</url>
</repository>
위와 같이 설정해주고 local maven repository 를 등록해주고 아래 스샷 처럼 폴더 구조를 생성하고.
<dependency>
<groupId>local</groupId>
<artifactId>jxls</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>local</groupId>
<artifactId>jxls-jexcel</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
</exclusion>
<exclusion>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>local</groupId>
<artifactId>jxls-poi</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
</exclusion>
</exclusions>
</dependency>
maven 에 위와 같이 라이브러리를 등록해주었다. 그러면 명시된 라이브러리와 의존하는 라이브러리들을 전부 가져오게된다.
ps. 의존하는 라이브러리가 버전이 겹칠때 컴파일할 버전을 지정해주는 예시
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.12</version>
</dependency>
</dependencies>
</dependencyManagement>
'JAVA' 카테고리의 다른 글
Json Data Parse in Java (0) | 2017.06.25 |
---|---|
Redis Java Client (0) | 2017.05.19 |
Socket Message (0) | 2017.01.08 |
스프링 프레임워크 장단점 분석 (0) | 2016.04.12 |
JSTL if 조건문 내 공백 오류 (0) | 2014.09.05 |