아파치 POI

위키百科, 우리 모두의 百科事典.

아파치 POI
Apache POI
開發者 아파치 소프트웨어 財團
安定化 버전
5.2.3 / 2022年 9月 16日 (20個月 前) ( 2022-09-16 ) [1]
貯藏所
運營 體制 크로스 플랫폼
種類 라이브러리
라이선스 아파치 라이선스
웹사이트 poi .apache .org

아파치 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 컴포넌트가 가장 安定的이고 많은 機能을 支援하며 다른 컴포넌트들은 使用은 可能하나 아직까지는 開發 段階이다.

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. “History of Changes” . 2022年 9月 19日에 確認함 .  
  2. Standard ECMA-376, Office Open XML File Formats
  3. Sundaram, Elango (2004年 3月 22日). “Excelling in Excel with Java” . JavaWorld.com. 2013年 5月 9日에 原本 文書 에서 保存된 文書 . 2013年 1月 22日에 確認함 .  
  4. Paul McDougall (2008年 3月 26日). “Microsoft Eyes Open Source Components For Office 2007” . InformationWeek. 2012年 10月 16日에 原本 文書 에서 保存된 文書 . 2013年 1月 22日에 確認함 .  

外部 링크 [ 編輯 ]