How to generate a MS Word document (docx) from Java

In today’s article, we’ll look at generating a document based on the docx document template. This is a very common task in business applications where you service needs to provide a report to a user based on his actions.
To generate the that document, we will use the docx-stamper library.

First steps

Let’s create a basic maven project.

First we add a maven dependency for using the library

Creating docx template

Now you need to create a document to generate the report.
Here’s what I got:

Docx template
Docx template


Now we need to generate a report. First, we need to create a DocxStamper  object and pass DocxStamperConfiguration  there, if you do not know what to transfer in the settings, just create it without specifying the parameters.
To generate the file, the context  is passed. Context  is usually a POJO file that contains all the data for output to the template.
Here is an example of the file I created for this example:

Now let’s see the whole example:

After running the project, the output_template.docx file will be created, in which the finished report will be created.
This is how it will look:

Generated docx report
Generated docx report

Here you can download full source code of this example.



3 Comments on “How to generate a MS Word document (docx) from Java”

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.