În acest articol, vom continua să ne cunoaștem biblioteca Java a Apache POI, și anume, vom învăța cum să creăm documente MS Word într-un format modern .docx.
Cine nu cunoaște biblioteca Apache POI, citiți acest articol (o scurtă descriere și configurare a bibliotecii în proiectul Java). Folosind această bibliotecă, am creat deja un fișier Excel. a editat-o și a citit doar datele din fișierul xls. Astăzi este timpul să practicăm documentele Word.
Astăzi vom crea un nou dosar docx cu subsoluri și conținut. Să ne familiarizăm cu o mică teorie și apoi să procedăm la exemplul creării unui astfel de fișier.
Pentru a lucra cu formatul modern al documentului MS Word, avem nevoie de biblioteca Apache POI versiunea 3.11 cu artefactul poi-ooxml. Rețineți că șabloanele fișierelor cu pachete MS Office sunt actualizate și modificate în mod constant, iar POI-ul Apache în sine este reciclat, astfel încât funcționalitatea codului din articol în noile versiuni nu este garantată.
Conectați următoarea dependență la proiectul maven:
Creați un document Word (.docx) utilizând Apache POI. teorie
În descriere, am indicat că vom crea un document cu anteturi și subsoluri, așa că să aruncăm o privire la clasele speciale care vor permite acest lucru.
Apache POI oferă clase XWPFHeaderFooterPolicy și XWPFHeaderFooterPolicy pentru lucrul cu anteturile și subsolurile. În fiecare dintre aceste clase, există metode pentru a crea createHeader () și createFooter (). Pentru a lucra cu conținutul documentului, există clase speciale XWPFParagraph și XWPFRun API.
Procesul de creare a unui document docx este după cum urmează:
- Cu obiectul XWPFDocument, creați modelul pentru documentul docx în sine.
- Creăm o instanță a clasei XWPFHeaderFooterPolicy pentru a accesa anteturile și subsolurile.
- Creați instanțe CTP pentru anteturi și subsoluri
- Creați clasele XWPFParagraph wrapper pentru fiecare subsol și corp al documentului Word.
- Instalați shell-urile recepționate în modelul XWPFDocument și salvați modelul într-un fișier cu extensia docx.
Creați un document Word în format docx folosind Apache POI. exemplu
Și acum implementăm algoritmul nostru în cod: