아파치 POI
![]() | |
개발자 | 아파치 소프트웨어 재단 |
---|---|
안정화 버전 | 5.2.3 / 2022년 9월 16일(22개월 전)(2022-09-16)[1] |
저장소 |
|
운영 체제 | 크로스 플랫폼 |
종류 | 라이브러리 |
라이선스 | 아파치 라이선스 |
웹사이트 | poi |
아파치 POI(Apache POI)는 아파치 소프트웨어 재단에서 만든 라이브러리로서 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로서 읽고 쓰는 기능을 제공한다. 주로 워드, 엑셀, 파워포인트와 파일을 지원하며 최근의 오피스 포맷인 Office Open XML File Formats[2](OOXML, 즉 xml 기반의 *.docx, *.xlsx, *.pptx 등)이나 아웃룩, 비지오, 퍼블리셔 등으로 지원 파일 포맷을 늘려가고 있다.
역사
POI라는 이름은 "Poor Obfuscation Implementation"의 줄임말[3]로서 기존의 마이크로소프트 오피스의 파일 포맷(OLE 2 Compund Document Format : OLE2)이 일부러 해독하기 힘들게 만들어 놓은 것 같음에도 불구하고 실제로 리버스 엔지니어링되어 사용할 수 있게 되었음을 의미한다. POI 프로젝트 내부에서 사용하는 각 모듈의 이름들 또한 이와 비슷하게 유머섞인 이름들로 되어있다.
Office Open XML 지원
POI는 3.5 버전부터 ISO/IEC 29500:2008 오피스 오픈 XML 파일 포맷을 지원한다. SourceSense 라는 오픈소스 업체로부터 많은 지원을 받았는데 이 업체는 마이크로소프트와 협력하여 개발을 한 것으로 알려져 있다.[4]
아키텍처
Apache POI는 다음과 같은 하위 컴포넌트로 구성되어 있다.
- POIFS(Poor Obfuscation Implementation File System) : 마이크로소프트 오피스의 OLE 2 Compound document 파일 포맷을 읽고 쓰는 컴포넌트. 모든 오피스 파일 포맷은 OLE2 방식이므로 하위 모든 컴포넌트의 기반이 된다.
- HSSF(Horrible SpreadSheet Format) : 마이크로소프트 엑셀 파일포맷을 읽고 쓰는 컴포넌트로서 엑셀 97버전부터 현재까지 지원한다.
- XSSF(XML SpreadSheet Format) : 마이크로소프트 엑셀 2007부터 지원하는 오피스 오픈 XML 파일 포맷인 *.xlsx 파일을 읽고 쓰는 컴포넌트이다.
- HPSF(Horrible Property Set Format) : 오피스 파일의 문서요약 정보를 읽는데 사용되는 컴포넌트이다.
- HWPF(Horrible Word Processor Format) : 마이크로소프트 워드 97(*.doc) 파일을 읽고 쓰는데 사용되는 컴포넌트이다. 아직까지는 개발 초기단계이다.
- HSLF(Horrible Slid Layout Format) : 마이크로소프트 파워포인트 파일을 읽고 쓰는데 사용되는 컴포넌트이다.
- HDGF(Horrible DiaGram Format) : 마이크로소프트 비지오 파일을 읽는데 사용하는 컴포넌트이다.
- HPBF(Horrible PuBlisher Format) : 마이크로소프트 퍼블리셔 파일을 다루는데 사용되는 컴포넌트이다.
- HSMF(Horrible Stupid Mail Format) : 마이크로소프트 아웃룩에서 사용되는 *.msg 파일을 다루는데 사용되는 컴포넌트이다.
- DDF(Dreadful Drawing Format) : 마이크로소프트 오피스에서 사용되는 이미지 파일을 읽어오는데 사용하는 컴포넌트이다.
HSSF 컴포넌트가 가장 안정적이고 많은 기능을 지원하며 다른 컴포넌트들은 사용은 가능하나 아직까지는 개발 단계이다.
같이 보기
각주
- ↑ “History of Changes”. 2022년 9월 19일에 확인함.
- ↑ Standard ECMA-376, Office Open XML File Formats
- ↑ Sundaram, Elango (2004년 3월 22일). “Excelling in Excel with Java”. JavaWorld.com. 2013년 5월 9일에 원본 문서에서 보존된 문서. 2013년 1월 22일에 확인함.
- ↑ Paul McDougall (2008년 3월 26일). “Microsoft Eyes Open Source Components For Office 2007”. InformationWeek. 2012년 10월 16일에 원본 문서에서 보존된 문서. 2013년 1월 22일에 확인함.
외부 링크
- 아파치 POI
- 공식 웹사이트
- v
- t
- e
- HTTP 서버
- Abdera
- Accumulo
- ACE
- ActiveMQ
- 에어플로
- 앤트
- APR
- Archiva
- Aries
- 아브로
- 액시스
- 액시스2
- Buildr
- BVal
- 캐멀
- 카산드라
- Cayenne
- Chemistry
- 클라우드스택
- 클릭
- Cocoon
- 커먼즈
- Continuum
- 카우치DB
- Creadur
- CXF
- 더비
- Deltacloud
- 디렉터리
- 드루이드
- Empire-db
- 펠릭스
- Forrest
- 플룸
- 프리메이커
- 제로니모
- 검프
- 하둡
- HBase
- 하이브
- 임팔라
- HttpComponents
- 잭래빗
- 제임스
- 제나
- 제이미터
- jUDDI
- 카프카
- 쿠두
- Lenya
- 로깅
- 루씬
- 루시
- 머하웃
- 메이븐
- MINA
- MRUnit
- 마이페이스
- 나이파이
- 너치
- ODE
- OODT
- OFBiz
- OpenEJB
- OpenJPA
- OpenNLP
- OpenWebBeans
- PDFBox
- mod_perl
- 피그
- 피봇
- POI
- Portals
- Qpid
- 레이브
- 리버
- 롤러
- Santuario
- ServiceMix
- Shindig
- Shiro
- 슬링
- 솔
- 스파크
- 스톰
- 스팸어쌔신
- STDCXX
- 스쿱
- 스트럿츠
- 서브버전
- 시냅스
- Tapestry
- Tcl
- 스리프트
- Tika
- Tiles
- 톰캣
- 트래픽서버
- 터빈
- Tuscany
- UIMA
- 벨로시티
- 웹 서비스
- Whirr
- Wicket
- 잴런
- 서세스
- XML빈즈
- XML 그래픽스
- 주키퍼
- Juneau
- Attributes
- BCEL
- BeanUtils
- Betwixt
- BSF
- 체인
- CLI
- 코덱
- Collections
- 컴프레스
- Configuration
- CSV
- 데몬
- DBCP
- DBUtils
- 다이제스터
- 디스커버리
- EL
- 이메일
- Exec
- FileUpload
- Functor
- 이미징
- IO
- JCI
- JCS
- 젤리
- Jxel
- JXPath
- Lang
- 런처
- 로깅
- 매스
- 모델러
- 넷
- OGNL
- 풀
- Primitives
- 프록시
- SCXML
- 트랜잭션
- Validator
- VFS
(종료된 프로젝트)
- 라이선스: 아파치 라이선스
- 홈페이지: www
.apache .org
![]() | 이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |