LINUX.ORG.RU

10 лет Apache POI

 , , ,


0

1

Apache Software Foundation анонсировал десятилетнюю годовщину проекта Apache POI — открытой библиотеки для чтения, записи и модификации офисных документов в форматах Microsoft, включая Word, PowerPoint, Excel, Outlook и Publisher. Библиотека используется в CERN, Deutsche Bank, Freddie Mac, IBM, J.P. Morgan, Lawrence Livermore National Laboratory, NASA, SAP, Siemens и других организациях. Также библиотека используется в OpenSource проектах Alfresco, JasperReports и Apache Tika.

Последняя стабильная версия, 3.7, вышла в октябре 2010. В августе 2011 вышла бета версия 3.8beta4.

Основные функции библиотеки:

  • Возможность чтения и записи форматов OLE2, включая .xls, .doc и .ppt
  • Возможность чтения и записи файлов OOXML, включая .xlsx, .docx и .pptx
  • Низкоуровневое API для OPC-контейнеров
  • Высокоуровневое развитое API для работы с таблицами Excel, документами Word и презентациями PowerPoint
  • Поддержка сообщений и вложений Outlook
  • Преобразование документов Excel и Word в HTML и XSL-FO

>>> Подробности

★★★★★

Последнее исправление: adriano32 (всего исправлений: 7)

Ответ на: комментарий от AP

Спасибо за инфу. Очень рад, что будет нативный инструмент в GNU/Linux. А то разработчики парятся над парсингом *.doc(x)/*.xls(x), а *.vsd всё никак.

carasin ★★★★★
()
Ответ на: комментарий от carasin

Ну, одного парсинга всё же мало. Надо же чтобы и рисовать чем-то можно было, и по возможности не как в Dia :)

AP ★★★★★
()
Ответ на: комментарий от carasin

> Правда, Draw мне не очень-то импонирует.

В том-то и дело :) До полноценной схеморисовалки его надо допиливать.

AP ★★★★★
()
Ответ на: комментарий от AP

У меня претензии больше к Draw'овскому интерфейсу и взаимодействию пользователя с инструментами. Visio нравится именно юзабильностью и удобством. Это именно то, чего не хватает Draw.

carasin ★★★★★
()
Ответ на: комментарий от carasin

> поддержки пока нет
Описаный набор библиотек даёт две консольные программы конвертирующие VSD в ODG и XHTML/SVG. В git-овом LO использование библиотек на прямую уже прикручено, будет в 3.5, насчёт поддержки в OO.o не уверен (библиотеки под MPL/GPL2+/LGPL2+, последние две с APL вроде бы не совместимы, про MPL не знаю).
Мэйнтейнер Calligra Flow работал над тем, чтобы и во Flow было так (о текущем состоянии ничего сказать не могу).

Да, в Visio 2010 примерно так поменяли интерфейс ('Favorites' — моя добавка, пытался понять не сохраняется ли эта часть где-то в файлах, теперь лень снести или перестроить под себя). На самом деле, если разобраться что куда засунули и свернуть ribbon, то существенной разницы нет. Кое-что даже попроще становится, потому что вытянули на поверхность.

frob ★★★★★
()
Ответ на: комментарий от anonymous

Если бы нужно было просто выгружать данные - с удовольствием бы использовал CSV. Но, к сожалению, приходится генерировать маршрутные карты и тому подобное, способов кроме использования xls пока не нашел адекватных.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

> Но, к сожалению, приходится генерировать маршрутные карты и тому подобное, способов кроме использования xls пока не нашел адекватных.

Тогда имхо по-любому потихоньку надо переходить на POI, как единственную поддерживаемую и развивающуюся библиотеку - даже если в конкретном случае не нужно стилей, формул итд. API, конечно, более геморный (jxl очень прост), но все эти стили и типы ползут из оффиса, так что девелоперов можно понять. Очень может быть, что за счёт кешинга и буферизации workbook - запись будет гораздо быстрее чем с jxl (скорость накладывания оверлея своих данных на 3-4 мегабайтовый файл-темплейт у меня происходит менее чем за секунду). Я перевёл все свои работающие проекты с jxl на POI несколько лет назад и всё хорошо работает. Но в моём случае критичны были фичи последнего.

siberean
()

Полезна тем, что реальные деньги у реальных заказчиков зарабатывать помогает.

Bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

> jxl - уже отжил своё. Он был актуален 5+ лет назад - когда ему не было альтернативы. Спасибо ему за это. Поддерживает только старый BIFF формат и не поддерживает форматы 2003,2007 итд. Не поддерживает макро, формулы итд.

JExcelAPI формулы поддерживает, но не все. А вообще, это самый жутко организованный opensource-проект, с которым я сталкивался. Репозитария и системы контроля версий нет - исходники хранятся где-то на локальном диске у автора. Тестов нет абсолютно, несмотря на то, что специфика проекта (никакого GUI, БД и т.д.) позволяет их писать довольно легко. В результате куча глюков, да ещё и попытки исправить старые вносят новые.

Однажды был вообще цирк. Послал автору патч с исправлением одного бага. Автор пишет: спасибо, всё исправил. Проверяю: нифига не исправил. Смотрю, в чем же дело: автор код из патча засунул руками в совершенно другое место, поломав то, что раньше работало.

pitekantrop ★★★
()
Ответ на: комментарий от siberean

> оффис 2010 зипует в том случае

И офис 2007, и офис 2010 зипуют всегда. Сам формат OOXML - это зип. Думаю, ты наткнулся либо на баг в зипователе 2010, либо в раззипователе 2007. Обычным zip-ом распаковывается нормально?

pitekantrop ★★★
()
Ответ на: комментарий от pitekantrop

Ага, спасибо. Файл не распаковывается, т.е. либо баг в зипователе, либо юзер что-то там намудрил. По-любому буду ждать большего количества подобных файлов для тестов, если они вообще будут в будущем.

siberean
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.