![]() | |
Разработчики) | Фонд программного обеспечения Apache |
---|---|
Стабильный выпуск | 5.0.0 / 20 января 2021 г . [1] |
Репозиторий | Репозиторий POI |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Тип | API для доступа к форматам Microsoft Office |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | poi |
Apache POI , проект, осуществляемый Apache Software Foundation и ранее являвшийся подпроектом Jakarta Project , предоставляет чистые библиотеки Java для чтения и записи файлов в форматах Microsoft Office , таких как Word , PowerPoint и Excel .
История и дорожная карта [ править ]
Первоначально это название было аббревиатурой от «Плохая реализация обфускации » [2], юмористически отсылающая к тому факту, что форматы файлов, казалось, были намеренно запутаны , но плохо, поскольку они были успешно реконструированы . Это объяснение - и объяснения с аналогичными названиями для различных подпроектов - были удалены с официальных веб-страниц, чтобы лучше продавать инструменты предприятиям, которые не сочли бы такой юмор уместным. Первоначальные авторы ( Эндрю С. Оливер и Марк Джонсон) также отметили существование гавайского блюда пои , сделанного из пюре из корня таро , которое имело такой же уничижительный оттенок. [3]
Поддержка Office Open XML [ править ]
POI поддерживает форматы файлов Office Open XML ISO / IEC 29500: 2008, начиная с версии 3.5. Значительный вклад в поддержку OOXML внесла Sourcesense, [4] компания с открытым исходным кодом, которой Microsoft поручила разработать этот вклад. [5] Эта ссылка вызвала споры, некоторые участники POI подвергли сомнению патентную защиту POI OOXML в отношении патентной лицензии Microsoft Open Specification Promise . [6]
Архитектура [ править ]
Проект Apache POI содержит следующие подкомпоненты (значения аббревиатур взяты из старой документации):
- POIFS (Плохо Obfuscation файла Внедрение системы [2] ) - этот компонент читает и пишет Microsoft «s OLE 2 составных документов формата. Поскольку все файлы Microsoft Office являются файлами OLE 2 , этот компонент является основным строительным блоком для всех других элементов POI. Таким образом, POIFS можно использовать для чтения большего количества файлов, помимо тех, чьи явные декодеры уже записаны в POI.
- HSSF (Horrible SpreadSheet Format [2] ) - читает и записывает файлы формата Microsoft Excel (XLS). Он может читать файлы, написанные Excel 97 и более поздних версий; этот формат файла известен как формат BIFF 8 . Поскольку формат файла Excel сложен и содержит ряд сложных характеристик, некоторые из более сложных функций не могут быть прочитаны.
- XSSF (XML SpreadSheet Format) - читает и записывает файлы формата Office Open XML (XLSX). Аналогичная функция установлена для HSSF, но для файлов Office Open XML.
- HPSF (формат набора ужасных свойств [2] ) - считывает информацию «Резюме документа» из файлов Microsoft Office . По сути, это информация, которую можно увидеть с помощью пункта меню « Файл | Свойства» в приложении Office .
- HWPF (Ужасный формат текстового процессора [7] ) - предназначен для чтения и записи файлов формата Microsoft Word 97 (DOC). Этот компонент находится на начальной стадии разработки.
- XWPF (XML Word Processor Format [7] ) - набор функций аналогичен HWPF, но для файлов Office Open XML.
- HSLF (Horrible Slide Layout Format [7] ) - чистая реализация Java для файлов Microsoft PowerPoint . Это дает возможность читать, создавать и редактировать презентации (хотя некоторые вещи делать проще, чем другие).
- HDGF (Horrible DiaGram Format [7] ) - исходная чистая реализация Java для двоичных файлов Microsoft Visio . Это дает возможность читать низкоуровневое содержимое файлов.
- HPBF (Ужасный формат PuBlisher [ необходима ссылка ] ) - чистая реализация Java для файлов Microsoft Publisher. [8]
- HSMF (Horrible Stupid Mail Format [9] ) - чистая реализация Java для файлов Microsoft Outlook MSG. [10]
- DDF (Dreadful Drawing Format [7] ) - пакет для декодирования формата Microsoft Office Drawing.
Компонент HSSF - самая продвинутая функция библиотеки. [11] Другие компоненты (HPSF, HWPF и HSLF) можно использовать, но они менее полнофункциональны. [12] [13]
Библиотека POI также предоставляется как расширение Ruby [14] или ColdFusion .
Существуют модули для платформ больших данных (например, Apache Hive / Apache Flink / Apache Spark), которые обеспечивают определенные функции Apache POI, такие как обработка файлов Excel. [15] [16]
История версий [ править ]
Легенда: | Старая версия, не поддерживается | Старая версия, все еще поддерживается | Текущая стабильная версия | Будущий выпуск |
---|
Номер версии | Дата выпуска |
---|---|
5.0.0 | 20. января 2021 г. |
4.1.2 | 14. Февраль 2020 |
4.1.1 | 20. Октябрь 2019 |
4.1.0 | 09. апрель 2019 |
4.0.0 | 07. Сентябрь 2018 |
3,17 | 15. сентябрь 2017 |
3,16 | 19. апреля 2017 |
3,15 | 21. сентябрь 2016 |
3,14 | 2. Март 2016 г. |
3,13 | 29. Сентябрь 2015 г. |
3,12 | 11. мая 2015 |
3.11 | 21. декабря 2014 |
3.10.1 | 18. августа 2014 |
3.10 | 8. Февраль 2014 г. |
3.9 | 3. Декабрь 2012 г. |
3.8 | 26 марта 2012 г. |
3,7 | 29. Октябрь 2010 г. |
3,6 | 14. декабря 2009 г. |
3.5 | 28. сентябрь 2009 г. |
3,2 | 19. Октябрь 2008 г. |
3.1 | 29. июнь 2008 г. |
3.0.2 | 4. Февраль 2008 г. |
3.0.1 | 5. июль 2007 г. |
3.0 | 18. мая 2007 г. |
2.5.1 | 29. Февраль 2004 г. |
2,5 | 29. Февраль 2004 г. |
2.0 | 26. января 2004 г. |
1.5.1 | 16. июнь 2002 г. |
1.5 | 6. мая 2002 г. |
1.2.0 | 19. января 2002 г. |
1.1.0 | 4. Январь 2002 г. |
1.0.2 | 11 января 2002 г. |
1.0.1 | 4. Январь 2002 г. |
1.0.0 | 30 декабря 2001 г. |
См. Также [ править ]
- Соглашения об открытой упаковке
- Программное обеспечение Office Open XML
Ссылки [ править ]
- ^ «История изменений» . 2021.01.20 . Источник 2021-01-20 .
- ^ a b c d Сундарам, Эланго (22 марта 2004 г.), «Превосходство в Excel с Java» , JavaWorld , получено 21 июля 2020 г.
- ^ Домашняя страница POI от октября 2004 г. , Coyote Song, заархивировано из оригинала 15.10.2004.с оригинальными пояснениями к именованию.
- ^ SourceSense
- ↑ Макдугалл, Пол (26 марта 2008 г.). «Компоненты с открытым исходным кодом Microsoft Eyes для Office 2007» . Информационная неделя . Проверено 21 июля 2020 .
- ↑ Оливер, Эндрю С. (27 марта 2008 г.), «Отклонение любого ОБЯЗАТЕЛЬНОГО пожертвования Microsoft для POI» , архивы списков рассылки разработки POI , получено 21 июля 2020 г.
- ^ a b c d e «Документация по API POI» . Poi.apache.org . Проверено 7 марта 2019 .
- ^ «POI-HPBF - Java API для доступа к файлам формата Microsoft Publisher» . Poi.apache.org . Проверено 7 марта 2019 .
- ^ Codeplex NPOI , Microsoft, заархивировано из оригинала 28 марта 2012 г.[ нужен лучший источник ]
- ^ POI-HSMF , Apache, архивируются с оригинала на 2011-08-07 , извлекаться 2011-07-31
- ^ POI-HSSF , Apache
- ^ POI-HWPF , Apache
- ^ POI-HSLF , Apache
- ^ POI-Ruby , Apache
- ^ «HadoopOffice для Hive / Flink / Spark» . Github.com. 2018-07-19 . Проверено 7 марта 2019 .
- ^ «Искра Excel» . Github.com . Проверено 7 марта 2019 .
Внешние ссылки [ править ]
- Официальный веб-сайт