아파치 POI
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
아파치 POI는 마이크로소프트 오피스 파일 형식을 처리하기 위한 아파치 재단의 오픈 소스 라이브러리이다. "Poor Obfuscation Implementation"의 약자로, 마이크로소프트 오피스 파일 형식이 리버스 엔지니어링을 통해 사용 가능하게 되었음을 의미한다. POI는 다양한 하위 컴포넌트로 구성되어 있으며, 각 컴포넌트는 특정 오피스 파일 형식을 지원한다. 주요 컴포넌트로는 POIFS, HSSF, XSSF, HPSF, HWPF, XWPF, HSLF, XSLF, HDGF, HPBF, HSMF, DDF, XDDF 등이 있다. POI는 2001년 12월 30일 1.0.0 버전 출시 이후 지속적으로 발전해 왔으며, 2024년 7월 2일 현재 최신 버전은 5.3.0이다.
더 읽어볼만한 페이지
- 자바 라이브러리 - 아파치 루씬
아파치 루씬은 더그 커팅이 개발한 오픈 소스 전문 검색 라이브러리이며, 텍스트 색인 및 검색 기능을 제공하여 웹 검색 엔진, 퍼지 검색, 추천 시스템 구현 등에 사용된다. - 자바 라이브러리 - 구글 구아바
구글 구아바는 구글에서 개발한 오픈 소스 자바 라이브러리로, 자바 컬렉션 프레임워크 확장, 캐싱, I/O, 문자열 처리 등 다양한 유틸리티 기능 제공, 함수형 프로그래밍 스타일 컬렉션 적용을 통해 자바 개발 생산성 향상에 기여한다. - 아파치 소프트웨어 재단 프로젝트 - 아파치 루씬
아파치 루씬은 더그 커팅이 개발한 오픈 소스 전문 검색 라이브러리이며, 텍스트 색인 및 검색 기능을 제공하여 웹 검색 엔진, 퍼지 검색, 추천 시스템 구현 등에 사용된다. - 아파치 소프트웨어 재단 프로젝트 - 아파치 하둡
아파치 하둡은 대용량 데이터를 분산 처리하기 위한 자바 기반의 오픈 소스 프레임워크로, HDFS, 맵리듀스, YARN 등의 모듈로 구성되어 클라우드 환경에서도 사용된다. - 자바 플랫폼 - 블루레이
블루레이 디스크는 DVD 후속 매체로, 청색 레이저를 사용하여 고화질 영상과 음향을 제공하며 HD DVD와의 경쟁 후 고밀도 광디스크 표준으로 자리 잡았으나 스트리밍 서비스 성장으로 녹화용 디스크 생산이 중단되는 추세이다. - 자바 플랫폼 - 자바 플랫폼, 마이크로 에디션
자바 ME는 임베디드 및 모바일 장치에서 자바 앱을 실행하는 플랫폼으로, 피처폰에서 주로 사용되었으며 다양한 프로파일과 에뮬레이터, 개발 도구를 제공하고 JSR을 통해 기능이 확장된다.
아파치 POI - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
개발자 | 아파치 소프트웨어 재단 |
최신 버전 | 5.3.0 |
최신 버전 출시일 | 2024년 7월 2일 |
리포지토리 | POI 리포지토리 |
프로그래밍 언어 | Java |
운영 체제 | 크로스 플랫폼 |
종류 | API (마이크로소프트 오피스 형식 접근) |
라이선스 | 아파치 라이선스 2.0 |
웹사이트 | 아파치 POI 공식 웹사이트 |
2. 역사
POI는 초기에 마이크로소프트 오피스의 파일 포맷(OLE 2 Compound Document Format : OLE2)이 해독하기 어렵게 만들어진 것처럼 보였으나, 실제로는 리버스 엔지니어링을 통해 사용할 수 있게 되었음을 의미하는 "Poor Obfuscation Implementation"(엉성한 난독화 구현)의 두문자어였다.[22] POI 프로젝트 내부 모듈 이름들도 이와 유사하게 유머 섞인 이름으로 지어졌다.
Apache POI는 마이크로소프트 오피스 파일 포맷을 읽고 쓸 수 있는 여러 하위 컴포넌트들로 구성되어 있다. 각 컴포넌트는 특정 오피스 파일 포맷을 처리하는 역할을 담당한다. 3.5 버전부터는 ISO/IEC 29500:2008 오피스 오픈 XML 파일 포맷도 지원한다.[5]
POI는 3.5 버전부터 ISO/IEC 29500:2008 오피스 오픈 XML 파일 포맷을 지원한다.[5] 오픈소스 업체인 [http://www.sourcesense.com/ SourceSense]의 지원을 받았는데, 이 업체는 마이크로소프트와 협력하여 개발을 진행한 것으로 알려져 있다.[23] 이러한 유머러스한 명칭은 기업에 도구를 더 잘 마케팅하기 위해 공식 웹 페이지에서 제거되었다. 원래 작성자(앤드루 C. 올리버와 마크 존슨)는 으깬 토란으로 만든 하와이 음식인 포이 요리의 존재도 언급했다.[3]
OOXML 지원에 대한 기여는 마이크로소프트로부터 위탁받은 오픈 소스 회사인 Sourcesense가 했다.[5] 이로 인해 일부 POI 기여자들은 마이크로소프트의 오픈 스펙 약속 특허 라이선스에 관한 POI OOXML 특허 보호에 대해 의문을 제기하며 논란이 일기도 했다.[6]
3. 아키텍처
POI는 "Poor Obfuscation Implementation"의 약자로, 마이크로소프트 오피스 파일 포맷(OLE 2 Compound Document Format)이 해독하기 어렵게 만들어졌음에도 불구하고 리버스 엔지니어링을 통해 사용할 수 있게 되었음을 의미한다.[22] POI 프로젝트 내부에서 사용하는 각 모듈의 이름들은 이와 비슷하게 유머 섞인 이름들로 되어 있다.
OOXML 지원에는 오픈 소스 회사인 SourceSense가 많은 기여를 했다. 이 회사는 마이크로소프트와 협력하여 개발을 진행한 것으로 알려져 있다.[18][19] 그러나 일부 POI 기여자들은 마이크로소프트의 오픈 스펙 이행 약속에 대해 의문을 제기하기도 했다.[6]
3. 1. 주요 컴포넌트
컴포넌트명 | 설명 |
---|---|
POIFS (Poor Obfuscation Implementation File System) | 마이크로소프트 오피스의 OLE 2 Compound Document 파일 포맷을 읽고 쓰는 기능을 제공하며, 모든 POI 컴포넌트의 기반이 된다.[2] |
HSSF (Horrible SpreadSheet Format) | 마이크로소프트 엑셀 97-2003 파일 포맷 (*.xls)을 읽고 쓰는 기능을 제공한다.[2] |
XSSF (XML SpreadSheet Format) | 마이크로소프트 엑셀 2007 이후 파일 포맷 (*.xlsx)을 읽고 쓰는 기능을 제공한다. |
HPSF (Horrible Property Set Format) | 오피스 파일의 문서 요약 정보를 읽는 기능을 제공한다.[2] |
HWPF (Horrible Word Processor Format) | 마이크로소프트 워드 97-2003 파일 포맷 (*.doc)을 읽고 쓰는 기능을 제공하며, 아직 개발 초기 단계이다.[7] |
XWPF (XML Word Processor Format) | 마이크로소프트 워드 2007 이후 파일 포맷 (*.docx)을 읽고 쓰는 기능을 제공한다.[7] |
HSLF (Horrible Slide Layout Format) | 마이크로소프트 파워포인트 파일 (*.ppt)을 읽고 쓰는 기능을 제공한다.[7] |
XSLF (Open Office XML Slideshow Format) | 마이크로소프트 파워포인트 2007 이후 파일 포맷 (*.pptx)을 읽고 쓰는 기능을 제공한다. |
HDGF (Horrible DiaGram Format) | 마이크로소프트 비지오 파일 (*.vsd)을 읽는 기능을 제공한다.[7] |
HPBF (Horrible PuBlisher Format) | 마이크로소프트 퍼블리셔 파일 (*.pub)을 다루는 기능을 제공하며, 아직 개발 초기 단계이다.[8] |
HSMF (Horrible Stupid Mail Format) | 마이크로소프트 아웃룩 메시지 파일 (*.msg)을 다루는 기능을 제공한다.[9][10] |
DDF (Dreadful Drawing Format) | 마이크로소프트 오피스 드로잉 형식을 디코딩하는 기능을 제공한다.[7] |
XDDF (XML Dreadful Drawing Format) | XML 기반의 마이크로소프트 오피스 드로잉 형식을 디코딩하는 기능을 제공한다. |
3. 2. 안정성 및 기능
HSSF 컴포넌트는 가장 안정적이고 많은 기능을 지원하며, 다른 컴포넌트들은 사용은 가능하나 아직까지는 개발 단계이다.[11] HPSF, HWPF, HSLF는 사용할 수 있지만 기능이 덜 완전하다.[12][13]4. 버전 역사
Apache POI영어는 2001년 1.0.0 버전 출시 이후 지속적으로 발전해 왔다. 2024년 7월 현재 최신 버전은 5.3.0이다.
버전 번호 | 출시일 |
---|---|
5.3.0 | 2024년 7월 2일 |
5.2.5 | 2023년 11월 25일 |
5.2.4 | 2023년 9월 28일 |
5.2.3 | 2022년 9월 16일 |
5.2.2 | 2022년 3월 19일 |
5.2.1 | 2022년 3월 3일 |
5.2.0 | 2022년 1월 14일 |
5.1.0 | 2021년 11월 1일 |
5.0.0 | 2021년 1월 20일 |
4.1.2 | 2020년 2월 14일 |
4.1.1 | 2019년 10월 20일 |
4.1.0 | 2019년 4월 9일 |
4.0.0 | 2018년 9월 7일 |
3.17 | 2017년 9월 15일 |
3.16 | 2017년 4월 19일 |
3.15 | 2016년 9월 21일 |
3.14 | 2016년 3월 2일 |
3.13 | 2015년 9월 29일 |
3.12 | 2015년 5월 11일 |
3.11 | 2014년 12월 21일 |
3.10.1 | 2014년 8월 18일 |
3.10 | 2014년 2월 8일 |
3.9 | 2012년 12월 3일 |
3.8 | 2012년 3월 26일 |
3.7 | 2010년 10월 29일 |
3.6 | 2009년 12월 14일 |
3.5 | 2009년 9월 28일 |
3.2 | 2008년 10월 19일 |
3.1 | 2008년 6월 29일 |
3.0.2 | 2008년 2월 4일 |
3.0.1 | 2007년 7월 5일 |
3.0 | 2007년 5월 18일 |
2.5.1 | 2004년 2월 29일 |
2.5 | 2004년 2월 29일 |
2.0 | 2004년 1월 26일 |
1.5.1 | 2002년 6월 16일 |
1.5 | 2002년 5월 6일 |
1.2.0 | 2002년 1월 19일 |
1.1.0 | 2002년 1월 4일 |
1.0.2 | 2002년 1월 11일 |
1.0.1 | 2002년 1월 4일 |
1.0.0 | 2001년 12월 30일 |
참조
[1]
웹사이트
History of Changes
https://poi.apache.o[...]
2024-10-28
[2]
간행물
Excelling in Excel with Java
https://www.infoworl[...]
2020-07-21
[3]
간행물
POI homepage from October 2004
http://www.coyoteson[...]
Coyote Song
[4]
간행물
SourceSense
https://www.sourcese[...]
[5]
웹사이트
Microsoft Eyes Open Source Components for Office 2007
https://www.informat[...]
2020-07-21
[6]
간행물
Rejection of any ENCUMBERED Microsoft Donation to POI
https://mail-archive[...]
2020-07-21
[7]
웹사이트
POI API Documentation
https://poi.apache.o[...]
Poi.apache.org
2019-03-07
[8]
웹사이트
POI-HPBF - Java API To Access Microsoft Publisher Format Files
https://poi.apache.o[...]
Poi.apache.org
2019-03-07
[9]
간행물
Codeplex NPOI
http://npoi.codeplex[...]
Microsoft
[10]
간행물
POI-HSMF
http://poi.apache.or[...]
Apache
2011-07-31
[11]
간행물
POI-HSSF
http://poi.apache.or[...]
Apache
[12]
간행물
POI-HWPF
http://poi.apache.or[...]
Apache
[13]
간행물
POI-HSLF
http://poi.apache.or[...]
Apache
[14]
간행물
POI-Ruby
http://poi.apache.or[...]
Apache
[15]
웹사이트
HadoopOffice for Hive/Flink/Spark
https://github.com/Z[...]
Github.com
2019-03-07
[16]
웹사이트
Spark Excel
https://github.com/c[...]
Github.com
2019-03-07
[17]
웹사이트
History of Changes - Apache POI
https://poi.apache.o[...]
2023-11-20
[18]
간행물
SourceSense
http://www.sourcesen[...]
[19]
웹사이트
Microsoft Eyes Open Source Components for Office 2007
http://www.informati[...]
Information Week
2009-03-01
[20]
웹인용
History of Changes
https://poi.apache.o[...]
2022-09-19
[21]
문서
Standard ECMA-376, Office Open XML File Formats
http://www.ecma-inte[...]
[22]
웹인용
Excelling in Excel with Java
http://www.javaworld[...]
JavaWorld.com
2013-01-22
[23]
웹인용
Microsoft Eyes Open Source Components For Office 2007
http://www.informati[...]
InformationWeek
2013-01-22
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com