Апач POI
![]() | |
Разработчик(и) | Фонд программного обеспечения Apache |
---|---|
Стабильная версия | 5.2.5 / 25 ноября 2023 г [1] |
Репозиторий | Репозиторий POI |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | API для доступа к Microsoft Office форматам |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | Затем |
Apache POI , проект, реализуемый Apache Software Foundation и ранее являвшийся подпроектом Jakarta Project , предоставляет чистые библиотеки Java для чтения и записи файлов в Microsoft Office форматах , таких как Word , PowerPoint и Excel .
История и дорожная карта
[ редактировать ]Первоначально это название было аббревиатурой от «Плохая реализация обфускации». [2] с юмором ссылаясь на тот факт, что форматы файлов, казалось, были намеренно запутаны , но неудачно, поскольку они были успешно реконструированы . Это объяснение, а также пояснения к аналогичным названиям различных подпроектов были удалены с официальных веб-страниц, чтобы лучше продвигать инструменты для компаний, которые не сочли бы такой юмор уместным. Первоначальные авторы ( Эндрю К. Оливер и Марк Джонсон) также отметили существование гавайского блюда пои , приготовленного из пюре из корня таро , которое имело такой же уничижительный подтекст. [3]
Поддержка Office Open XML
[ редактировать ]ISO/IEC 29500:2008, POI поддерживает форматы файлов Office Open XML начиная с версии 3.5. Значительный вклад в поддержку OOXML внес Sourcesense, [4] компания с открытым исходным кодом поручила , которой Microsoft разработать этот вклад. [5] Эта ссылка вызвала разногласия: некоторые участники POI поставили под сомнение патентную защиту POI OOXML в отношении патентной лицензии Microsoft Open Specification Promise . [6]
Архитектура
[ редактировать ]Проект Apache POI содержит следующие подкомпоненты (значения аббревиатур взяты из старой документации):
- POIFS (файловая система с плохой реализацией обфускации) [2] ) – этот компонент читает и записывает Microsoft OLE 2 формат документов Compound . Поскольку все Microsoft Office файлы представляют собой файлы OLE 2 , этот компонент является основным строительным блоком всех других элементов POI. Таким образом, POIFS можно использовать для чтения более широкого спектра файлов, помимо тех, чьи явные декодеры уже написаны в POI.
- HSSF (ужасный формат электронных таблиц) [2] ) – читает и записывает файлы формата Microsoft Excel (XLS). Он может читать файлы, написанные в Excel 97 и более поздних версиях; этот формат файла известен как формат BIFF 8 . Поскольку формат файла Excel сложен и содержит ряд сложных характеристик, некоторые из более сложных функций невозможно прочитать.
- XSSF (формат электронной таблицы XML) — читает и записывает Office Open XML файлы формата (XLSX). Набор функций аналогичен HSSF, но для файлов Office Open XML.
- HPSF (ужасный формат набора свойств) [2] ) – считывает информацию «Сводка документа» из Microsoft Office файлов . По сути, это информация, которую можно увидеть, используя пункт меню «Файл | Свойства» в приложении Office .
- HWPF (ужасный формат текстового процессора) [7] ) – предназначен для чтения и записи файлов формата Microsoft Word 97 (DOC). Этот компонент находится на начальной стадии разработки.
- XWPF (формат текстового процессора XML) [7] ) — набор функций аналогичен HWPF, но для файлов Office Open XML.
- HSLF (ужасный формат макета слайда) [7] ) — чистая реализация Java для Microsoft PowerPoint файлов . Это дает возможность читать, создавать и редактировать презентации (хотя некоторые вещи делать проще, чем другие).
- XSLF (формат слайд-шоу Open Office XML)
- HDGF (ужасный формат диаграммы) [7] ) — первоначальная реализация двоичных файлов Microsoft Visio на чистом Java . Он обеспечивает возможность чтения низкоуровневого содержимого файлов.
- HPBF (ужасный формат издателя) [ нужна ссылка ] ) — чистая реализация Java для Microsoft Publisher . файлов [8]
- HSMF (ужасный глупый формат почты) [9] [ нужен лучший источник ] ) — чистая реализация Java для Microsoft Outlook MSG. файлов [10]
- DDF (ужасный формат чертежей) [7] ) — пакет для декодирования формата Microsoft Office Drawing.
- XDDF (ужасный формат чертежей XML)
Компонент HSSF — самая продвинутая функция библиотеки. [11] Другие компоненты (HPSF, HWPF и HSLF) можно использовать, но они менее полнофункциональны. [12] [13]
Библиотека POI также предоставляется в виде Ruby. [14] или расширение ColdFusion .
Существуют модули для платформ больших данных (например, Apache Hive/Apache Flink/Apache Spark), которые обеспечивают определенные функции Apache POI, такие как обработка файлов Excel. [15] [16]
История версий
[ редактировать ]Легенда: | Старая версия, не поддерживается | Старая версия, все еще поддерживается | Текущая стабильная версия | Будущий выпуск |
---|
Номер версии | Дата выпуска |
---|---|
5.2.5. | 25 ноября 2023 г. |
5.2.4. | 29 сентября 2023 г. |
5.2.3. | 16 сентября 2022 г. |
5.2.2. | 19 марта 2022 г. |
5.2.1. | 3 марта 2022 г. |
5.2.0. | 14 января 2022 г. |
5.1.0. | 1 ноября 2021 г. |
5.0.0. | 20 января 2021 г. |
4.1.2. | 14 февраля 2020 г. |
4.1.1. | 20 октября 2019 г. |
4.1.0. | 9 апреля 2019 г. |
4.0.0. | 7 сентября 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 г. |
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «История перемен» . Проверено 19 сентября 2022 г.
- ^ Jump up to: а б с д Сундарам, Эланго (22 марта 2004 г.), «Превосходство в Excel с Java» , JavaWorld , получено 21 июля 2020 г.
- ^ Домашняя страница POI за октябрь 2004 г. , Coyote Song, заархивировано из оригинала 15 октября 2004 г. , показывает оригинальные объяснения названия.
- ^ ИсточникSense
- ^ Макдугалл, Пол (26 марта 2008 г.). «Компоненты Microsoft Eyes с открытым исходным кодом для Office 2007» . Информационная неделя . Проверено 21 июля 2020 г.
- ^ Оливер, Эндрю К. (27 марта 2008 г.), «Отказ от любых ОБРЕМЕНЕННЫХ пожертвований Microsoft в пользу POI» , Архивы списков рассылки разработки POI , получено 21 июля 2020 г.
- ^ Jump up to: а б с д и «Документация по 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, заархивировано из оригинала 7 августа 2011 г. , получено 31 июля 2011 г.
- ^ POI-HSSF , Апач
- ^ POI-HWPF , Апач
- ^ POI-HSLF , Апач
- ^ POI-Рубин , Апач
- ^ «HadoopOffice для Hive/Flink/Spark» . Гитхаб.com. 19 июля 2018 года . Проверено 7 марта 2019 г.
- ^ «Искра Эксель» . Гитхаб.com . Проверено 7 марта 2019 г.