How to populate a Word template from Excel
You already have the document — the contract, the certificate, the offer letter. Only a handful of words change each time, and those words are sitting in a spreadsheet. This is how to get them from one file into the other, forty times over, without retyping.
Short answer: mark the changing text in your template, then pick a filler: Word's own mail merge (free, but the output is one long document), a macro or Power Automate (works, needs setup), or a web page — Docs from Excel takes the spreadsheet — and the template too, if you have one — and gives back one filled document per row, named from a column. How to build the template comes first.
Step 1: Mark what changes
Open the document you already use and find every piece of text that differs from one copy to the next: the customer, the amount, the date, the reference number. Everything else — layout, logo, letterhead, terms — stays exactly as it is.
There are three ways to mark those spots, and which one you use decides which fillers will work:
| Marking | Looks like | Works with |
|---|---|---|
| Merge fields | «Customer», inserted from the Mailings tab | Word's mail merge only |
| Content controls | A grey box with a tag, from the Developer tab | Power Automate, code |
| Plain placeholders | {{Customer}}, just typed in | Almost everything, including web tools |
Plain placeholders are the least clever and the most portable. They are ordinary text, so they survive being emailed, copied into a new document, or opened in Google Docs and LibreOffice. Type them so they match your spreadsheet's column names and nothing has to be mapped by hand.
One thing worth knowing: put placeholders in headers and footers too if the reference number lives there. Several filling methods skip headers, and that is where document numbers usually hide.
Step 2: Get the spreadsheet right
- Row 1 is column names. Every name filled in, no duplicates.
- One row per document. No blank rows in the middle — some methods stop at the first one.
- No merged cells anywhere in the data block.
- Put dates and amounts in the form you want printed. A cell showing
1,250.00holds the number1250; a cell showing a date holds a serial number. Several methods send the value, not the display. Why that happens, and the fixes. - Add a column that uniquely identifies each row. You will want it for filenames.
Step 3: Pick a filler
Word's mail merge
Free and built in. Mailings → Select Recipients → Use an Existing List, point at the workbook, insert merge fields, Finish & Merge. It fills the template correctly.
What it does not do is give you separate files — every record lands in one long document, and there is no filename step at all. Getting one file per record is a separate problem.
Autofill it with a macro
From Excel, VBA can open the template, replace each placeholder and save the result under a name taken from a column. Loop it and the whole job is done unattended:
Set doc = wd.Documents.Open(templatePath)
doc.Content.Find.Execute FindText:="{{Customer}}", _
ReplaceWith:=Cells(r, 2).Value, Replace:=wdReplaceAll
doc.SaveAs2 outFolder & Cells(r, 1).Value & ".docx"
Right answer if you run this every month and macros are permitted. Two catches: a plain find-and-replace does not reach headers, footers or text boxes (each needs its own pass), and on a managed work laptop macros are often disabled by policy.
Power Automate
The Microsoft 365 route, and the only one that runs on a schedule with nobody present. It uses content controls rather than typed placeholders, reads rows from a table, fills the template, converts to PDF and files the result. The conversion connectors are premium on most plans and the first flow takes an afternoon.
Import both files into a web page
Docs from Excel is built for exactly this shape of job. Upload the template with {{placeholders}} and the spreadsheet — or just the spreadsheet and one line saying what the documents are — and every row comes back as its own Word file or PDF, named from a column you pick.
- Placeholders are matched to columns by name automatically; you can correct any of them from a dropdown.
- Headers and footers are filled too, because the template is filled in place rather than taken apart.
- Values arrive as your spreadsheet displays them —
1,250.00stays1,250.00, dates stay dates. - Works on
.docx,.pptxand.xlsxtemplates. PowerPoint has no mail merge at all, so this is the only route for certificates designed in slides.
Which to choose
| Mail merge | Macro | Power Automate | Web page | |
|---|---|---|---|---|
| One file per row | No | Yes | Yes | Yes |
| Names files from a column | No | You code it | You configure it | Pick it |
| Fills headers and footers | Yes | Extra work | Yes | Yes |
| Needs anything installed | Office | Office + macros | No | No |
| Runs unattended | No | No | Yes | No |
Fill your template now
Upload the document you already use and your spreadsheet. Every filled file can be opened at full size before you pay.
Send your Excel →Free to run and inspect. Downloading a batch is a one-time US$9.90 — no subscription, no account.