Створення документа word в форматі docx за допомогою apache poi, програмування на java, android

У цій статті ми продовжимо знайомство з java бібліотекою Apache POI, а саме навчимося створювати документи пакету MS Word в сучасному форматі .docx.

Хто не знайомий з бібліотекою Apache POI, почитайте цю статтю (короткий опис і налаштування бібліотеки в Java проект). За допомогою цієї бібліотеки ми вже створювали Excel файл. редагували його і просто зчитували дані з xls-файлу. Сьогодні настав час потренуватися на документах Word.

Сьогодні ми створимо новий docx файл з колонтитулами і якимось вмістом. Давайте ознайомимося з невеликою теорією і далі перейдемо до прикладу створення такого файлу.

Для роботи з сучасним форматом документа MS Word, нам знадобиться бібліотека Apache POI версії 3.11 з артефактом poi-ooxml. Зверніть увагу, що шаблони файлів пакета MS Office постійно оновлюються і допрацьовуються, а сама Apache POI переробляється, тому працездатність наведеного в статті коду в нових версіях не гарантовано.

Підключіть наступну залежність в свій maven проект:

Створення документа Word (.docx) за допомогою Apache POI. теорія

В описі ми вказали, що будемо створювати документ з колонтитулами, тому давайте ознайомимося зі спеціальними класами, які дозволять це зробити.

Apache POI надає класи XWPFHeaderFooterPolicy і XWPFHeaderFooterPolicy для роботи з колонтитулами. У кожному з цих класів є методи створення createHeader () і createFooter (). Для роботи з вмістом документа є спеціальні класи XWPFParagraph and XWPFRun API.

Хід створення docx документа буде наступний:

  1. З оздаем об'єкт XWPFDocument - для створення моделі самого docx-документа.
  2. Створюємо екземпляр класу XWPFHeaderFooterPolicy для доступу до колонтитулів.
  3. Створюємо екземпляри CTP для верхнього і нижнього колонтитулів
  4. Створюємо класи-оболонки XWPFParagraph для кожного заголовка і тіла Word документа.
  5. Встановлюємо отримані оболонки в модель XWPFDocument і зберігаємо модель в файл з розширенням docx.

Створення документа Word в форматі docx за допомогою Apache POI. приклад

А тепер реалізуємо наш алгоритм в коді:

Схожі статті