2021. 1. 3. 23:31ㆍ개발 일지
POI
1. POI란?
• Java 혹은 Kotiln에서 MS Office의 파일 포멧을 다루기 위해서 Apache에서 만든 라이브러리입니다. 주로 Excel 포멧을 다루지만 Word, Power Point 포멧도 다룰 수 있습니다.
POI라는 이름은 "Poor Obfuscation Implementation"의 줄임말로 기존의 MS Office의 파일 포멧(OLE 2 Compund Document Format: OLE2)이 일부러 해독하기 어렵게 만들어 놓은 것 같음에도 불구하고 실제로 리버스 엔지니어링되어 사용할 수 있게 됐음을 의미합니다. POI 프로젝트 내부에서 사용되는 각 모듈의 이름을 또한 이와 비슷하게 유머섞인 이름들로 되어있습니다.
- 출처 : 아파치 POI - 위키백과, 우리 모두의 백과사전 (아파치 POI - 위키백과, 우리 모두의 백과사전 (wikipedia.org))
2. POI를 Java/Kotlin 프로젝트에서 실제로 사용하려면?
• Java 혹은 Kotlin 프로젝트에서 실제로 POI를 사용하는 방법은 여러가지가 있습니다. 우선 Apache POI홈페이지로 가서 라이브러리 파일을 다운로드 받아 수동으로 프로젝트에 라이브러리를 연결해주는 방법이 있습니다. (apache poi 다운로드)
다른 방법으로는 maven 혹은 gradle에서 의존성(dependency)을 추가하여 사용하는 방법이 있습니다.
- maven
porm.xml
<!-- xls 엑셀 제어 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<!-- xlsx 엑셀 제어 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
( 21.01.03 기준 POI 최신 버전은 4.1.2입니다. maven 저장소에서 POI 버전을 확인해서 프로젝트에 사용할 POI version을 변경하시면 됩니다. POI maven repository )
- gradle
Build.gradle
dependencies {
// xls 엑셀 파일 읽기 쓰기
implementation 'org.apache.poi:poi:4.1.2'
// xlsx 엑셀 파일 읽기 쓰기
implementation 'org.apache.poi:poi-oomxl:4.1.2'
}
3. 마치며
이 글은 회사 업무를 하며 습득했던 지식 혹은 기술을 간단하게 정리하며 언제 어떤 기술을 어떻게 사용했는지 간단하게 정리하고자 작성했습니다. 그래서 본격적으로 POI에 대해서 다루지 않았으며 차후에 POI와 함께 Kotiln 혹은 Java를 사용하여 사용하여 간단한 어플리케이션을 제작하는 글을 연재할 기회가 생겼으면 좋겠습니다. 물론 하게 된다면 Java보다는 Kotlin쪽으로 하게 될 것 같습니다.