воскресенье, 17 января 2016 г.

Использование Apache POI для работы с Microsoft Office в ADF (Using Apache POI in ADF)

В далёком 2014 году я писал, как можно формировать отчёты в ADF пот помощи Jasper Reports (http://www.oracle-adf.info/2014/04/adf-jasperreport.html ). Это достаточно громоздкий способ, требующий установки разработки отчетов. В этой статье я хочу рассказать как можно формировать отчёты при помощи Apache POI. Apache POI — это библиотека на языке Java для чтения и записи документов Microsoft Office,таких как Excel, PowerPoint и Word

Создадим простое приложение, которое по нажатию на кнопку будет генерировать Word-овский документ(исходники этого приложения можно скачать на github: https://github.com/JealousyM/poi-adf.

1. Скачайте последнюю стабильную версию Apache POI с сайта : https://poi.apache.org/download.html

2. Создайте Fusion Web Application

3.Из скаченного архива добавьте в Libraries and Classpath файл poi-xx-xxxx.jar,poi-xml-xx-xxxx.jar b poi-xml-shemas-xx-xxxx.jar, где xx-xxxx версия и дата poi.

 



4. Создайте jspx страницу с кнопкой,managed bean для генерации документа и создайте в нем метод для кнопки.


5. Собственно всё готово для генерации документа. Теперь в созданный метод  нужно вписать необходимый код. Apache Poi имеет множество методов для работы с документами. Полное описание всех компонентов находится здесь : https://poi.apache.org/apidocs/index.html


Мы  создадим документ с заголовком и основной частью.  За создание docx документа отвечает класс XWPFDocument. После создания нам нужно создать параграф( за это отвечает класс XWPFParagraph). В  самом параграфе уже можно создавать таблицы, добавлять картинки и текст. На изображении ниже показан пример создания документа и добавления туда данных.



После запуска приложения и нажатия на созданную кнопку, будет создан и запущен наш документ