Hi, I'm Ray

I'm a software developer, full-time nerd and occasional human (while heavily caffeinated).

Generating DOCX (MS Word) documents programmatically using a template (Rework)

This is a follow up to a post I wrote last year, Generating MS Word documents programmatically using placeholders in a template.

This was about generating MS Word (docx) documents by using find-and-replaceable tokens in an existing (template) document. In the previous post I shared some code and explained my thinking on the subject. However, at the time, the code made use of a temporary directory and wasn’t precisely read to use.

In this update, I’ve reworked the code into a class and done away with writing data to a temporary file and all that business.

Okay, let’s get started.

Usage


string filename = @"C:\template.docx";
string saveFilename = @"C:\new-file.docx";

Docxument doc = new Docxument(filename);
doc.ReplacementWords.Add("%title%", "Mr");
doc.ReplacementWords.Add("%firstname%", "John");
doc.ReplacementWords.Add("%familyname%", "Smith");			

var work1 = new Dictionary();
work1.Add("%title%", "Student");
work1.Add("%company%", "University");

var work2 = new Dictionary();
work2.Add("%title%", "Graduate");
work2.Add("%company%", "First Company");

doc.ReplacementParagraphs.Add("%work_experience%", new List>()
{
  work1,
  work2
});


doc.Save(saveFilename);

 

The code

Source Code

The Author

Ray
  • Hi, I'm Ray. I'm a software developer, full-time nerd and occasional human (while heavily caffeinated).

Copyright © 2014-2019 Ray Lam. All Rights Reserved.