This article will demonstrate how to create a mail merge template and then merge the text value to the template in Java application with the help of Spire.Doc.
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import java.text.SimpleDateFormat; import java.util.Date; public class MailMerge { public static void main(String[] args) throws Exception { String output = "output/mailMerge.docx"; //Create a Document instance Document document = new Document(); //Add a section Section section = document.addSection(); //Add 3 paragraphs to the section Paragraph para = section.addParagraph(); Paragraph para2 = section.addParagraph(); Paragraph para3 = section.addParagraph(); //Add mail merge templates to each paragraph para.setText("Contact Name: "); para.appendField("Contact Name", FieldType.Field_Merge_Field); para2.setText("Phone: "); para2.appendField("Phone", FieldType.Field_Merge_Field); para3.setText("Date: "); para3.appendField("Date", FieldType.Field_Merge_Field); //Set the value for the mail merge template by the field name Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); String[] filedNames = new String[]{"Contact Name", "Phone", "Date"}; String[] filedValues = new String[]{"John Smith", "+1 (69) 123456", dateString}; //Merge the specified value into template document.getMailMerge().execute(filedNames, filedValues); //save the document to file document.saveToFile(output, FileFormat.Docx); } }
Effective screenshot for the mail merge: