Word Documents User Guide

The ExForms Excel Add-in fills Word document placeholders with data from your spreadsheet — text, tables, charts, and images — and generates one Word document per record (one filled .docx for each row of your parent table), the same per-record model used for PDF. This guide covers creating templates, classifying and mapping content controls, naming the output files, and generating the filled documents.

📖 This is a User Guide
This documentation explains how to use the Excel Add-in interface. A public Word API reference is not published yet.


Document-generation capacity and add-on packs
Filled Word output uses your account's document-generation allowance, the same shared capacity used across ExForms document workflows. Form add-on packs can extend that allowance without changing your main subscription, which is useful for large mail merges, reporting bursts, or Free-plan accounts that need more output capacity.


What You Can Do

  • Upload Word templates - Upload .docx files with Content Controls
  • One Word document per record - ExForms generates a separate filled .docx for each parent-table row
  • Map Excel data - Connect named ranges, tables, charts, pivot tables, and images to Content Controls
  • Static vs per-record content - Mark an object as the same in every document (logo, summary chart) or filled differently per record (each row's fields, its child rows, its image)
  • Custom output file naming - Name each generated file from parent-table field values and custom text
  • Download as ZIP - Get all filled documents in a single ZIP file

How It Works

Word documents use Content Controls as placeholders for Excel data. You create a Word template with Content Controls where you want data inserted, then classify each Excel object and map it to a Content Control. ExForms then produces one filled document per parent record.

Excel Workbook                Word Template            Filled Documents (one per record)
─────────────────────         ─────────────────────    ─────────────────────────────────
Parent table row     ─────→   [CC: CustomerName] ───→   Contract_Acme.docx
  + its child rows            [CC: LineItems]           Contract_Globex.docx
  + its image                 [CC: SignaturePhoto]      Contract_Initech.docx
Named range/chart    ─────→   [CC: CompanyLogo]    ───→ (same logo in every document)
(static, shared)

Two kinds of content:

Kind Filled how Examples
Static (shared) The same value in every generated document Company logo, a summary chart, a named range, a static image
Per-record Resolved per parent row so each document gets its own A parent column value, a child table filtered to that row, a per-row image

Creating a Word Template

Step 1: Insert Content Controls

Content Controls are placeholders in Word that can receive data. Use Rich Text Content Controls for maximum flexibility.

In Microsoft Word:

  1. Go to Developer tab (enable it in File → Options → Customize Ribbon)
  2. Position your cursor where you want data inserted
  3. Click Rich Text Content Control in the Controls group
  4. A placeholder box appears in your document

💡 Tip: Rich Text Content Controls can accept any content type: text, tables, images, or charts.

Step 2: Name Your Content Controls

Every Content Control MUST have a Title or Tag. This is how the add-in identifies which Excel data goes where.

  1. Click on the Content Control to select it
  2. Click Properties in the Developer tab
  3. Enter a Title (recommended) - primary identifier for mapping
  4. Enter a Tag (alternative) - used if Title is empty
  5. Click OK

💡 Best Practice: Set both Title and Tag to the same value (e.g., "EmployeeName" in both fields). This ensures consistency and makes templates easier to maintain.

How Identification Works:

Scenario What's Used for Mapping
Title filled Title (primary)
Title empty, Tag filled Tag (fallback)
Both empty ⚠️ Cannot be mapped

Good naming examples:

  • CompanyName
  • EmployeeName
  • SalesTable
  • RevenueChart
  • CompanyLogo

Word Sample Content Controls

Step 3: Save as .docx

Save your template as a standard Word document (.docx format).


Template Requirements

When you upload a Word document, the add-in validates it:

Requirement Description
✅ File format Must be .docx (not .doc)
✅ Content Controls present At least one Content Control required
✅ All Content Controls identifiable Every CC must have a Title OR Tag

Validation Process

The add-in scans your document and builds a list of mappable Content Controls:

  1. First pass: Find all CCs with a Title property
  2. Second pass: For CCs without Title, check if they have a Tag
  3. Report: CCs with neither Title nor Tag are flagged as unmappable

If Validation Fails

If your document doesn't meet requirements, you'll see an alert:

⚠️ Document cannot be used
The Word document must contain Content Controls with Title or Tag properties.
Learn how to add Content Controls →

To fix:

  1. Open the document in Microsoft Word
  2. Go to DeveloperDesign Mode to see CC boundaries
  3. Click each Content Control and open Properties
  4. Enter a Title (or at minimum a Tag)
  5. Save and re-upload

Adding a Word Template to a Set

Template Sets can contain PDFs, Word documents, or both.

  1. Right-click on a folder in the tree view
  2. Select "Add New Set"
  3. Enter a Set Name and Description
  4. Click "Choose Files" and select your .docx file(s)
  5. Click Save

The add-in will:

  • Validate the document has Content Controls
  • Extract Content Control properties (Title and Tag)
  • Build a list of mappable CCs (Title-based first, Tag-based as fallback)

Mapping Content Controls to Excel

Excel Objects You Can Map

Excel Object Word Usage Example
Named Range Text values, single cells Company name, date, totals
Table Tabular data inserted into Word Invoice lines, employee lists
Chart Chart image (inserted as PNG) Sales chart, pie chart
Pivot Table Pivot output inserted into Word Summary pivots, grouped totals
Image Workbook image inserted into Word Logo, signature, product image

Two-stage mapping (classify, then map)

Because Word produces one document per record, mapping happens in two explicit stages. Nothing is guessed from names — you decide what each object is.

Stage 1 — Classify your Excel objects

The add-in scans the workbook and lists every named range, table, chart, pivot table, and image. For each one you choose its role:

Role Meaning Goes into every document as…
Parent table The driving table — one document is generated per row (drives the batch)
Per-record field A parent column whose value changes per row that row's value
Child table Rows that belong to a parent row, filtered by a key column only the rows for that record
Static The same content in every document identical in all outputs
Skip Not used

Charts, pivot tables, named ranges, and images you mark as Static are filled identically into every generated document (e.g. a company logo or an overall summary chart). Per-record images come from a parent image column or a per-record image table.

Stage 2 — Map objects to Content Controls

Once classified, map each object (or per-record field) to the Content Control that should receive it:

  1. Find the Content Control in the mapping grid (identified by its Title, or Tag if the Title is empty)
  2. Choose the Excel object/field to bind to it
  3. Save the multi-file mapping

Auto-map: the add-in pre-fills mappings where an Excel object name exactly matches a Content Control name (case-insensitive, with tbl_/_table variants). These are starting suggestions — review and adjust them; nothing is mapped on a partial/fuzzy match.

Image placeholders: distinct image placeholders in the template are listed so you can map each one to the workbook image (or per-record image column) it should show. Use the Select Images option to pick local image files when an image lives outside the workbook.

Word is multi-file only. Every Word template generates one document per record. (An older single-file mode is no longer offered in the interface.)

Multiple Content Controls with Same Name

Word allows multiple Content Controls with the same Title (or Tag). This is useful when you need the same data in multiple places (e.g., company name in header and footer).

ExForms handles this automatically: When you map a Content Control identifier to an Excel object, ALL Content Controls with that same Title (or Tag) receive the same data.


Data Type Handling

Text (Named Ranges)

Single-cell named ranges insert their value as text.

Excel Named Range: CompanyName = "Acme Corp"
Word CC: [CompanyName] → Acme Corp

Charts (as Images)

Excel charts are captured as PNG images (400×300 pixels) and inserted into the Content Control.

Excel Chart: "SalesChart" (Bar chart)
Word CC: [SalesChart] → (PNG image of the chart at 400×300)

💡 Tip: Use Rich Text Content Controls for charts. The chart is inserted as an inline image that preserves the chart's appearance.


Other Supported Object Types

In addition to named ranges and charts, the current mapping surface also supports these workbook object types:

Data Type Current use
Tables Insert Excel table data into Word tables
Pivot Tables Insert pivot output into Word
Images/Shapes Insert workbook images into Word

Table Styles

When ExForms generates tables in your Word documents, you can control their appearance using table styles. Table styles define formatting such as colors, borders, shading, and font settings for your tables.

How Table Styles Work

  1. Styles are stored per company - Table styles are configured at the company level and can be used across all Word templates
  2. You select a default style - During upload, you're prompted to choose which style to apply
  3. Generated tables use your style - Tables inserted from Excel data will have this consistent formatting

Creating Custom Table Styles in Word

You can create custom table styles directly in Word that match your branding:

  1. Insert a table in your Word document (InsertTable)
  2. Click inside the table to show the Table Design tab
  3. Click the More arrow in the Table Styles gallery

Step 2: Create a New Table Style

  1. Select New Table Style at the bottom of the gallery
  2. In the Create New Style from Formatting dialog:
    • Name: Give it a descriptive name (e.g., "Corporate Blue")
    • Style type: Table
    • Style based on: Choose a base style or "Table Normal"

Step 3: Customize Formatting

Configure formatting for each table element:

Element What It Controls
Whole table Default font, borders, cell padding
Header row First row formatting (bold, background color)
First column Left column emphasis
Last column Right column emphasis
Banded rows Alternating row colors (odd/even)
Banded columns Alternating column colors

To customize an element:

  1. Select it from the Apply formatting to dropdown
  2. Set font, font size, bold, italic
  3. Set fill color (background)
  4. Click FormatBorders and Shading for borders
  5. Repeat for other elements

Step 4: Apply and Save

  1. Check New documents based on this template to save globally
  2. Click OK to create the style
  3. Apply the style to your placeholder table

Example: Corporate Style with Blue Headers

Style Name: Corporate Blue
├── Header Row
│   ├── Background: Dark Blue (#2B579A)
│   ├── Font: White, Bold, 11pt
│   └── Borders: None
├── Banded Rows
│   ├── Odd Rows: White
│   └── Even Rows: Light Gray (#F5F5F5)
└── Whole Table
    ├── Font: Calibri, 10pt
    └── Borders: Light gray horizontal lines

Selecting a Style During Upload

When uploading a Word template:

  1. After the file upload completes, a Style Selection dialog appears
  2. Select from available styles:
    • Built-in Word styles (e.g., "Table Grid", "Light List")
    • Custom styles you've created
  3. Click Save to set the default style for this template

Managing Word Styles

Word styles are managed at the company level:

  1. View available styles - Seen during template upload
  2. Change default style - Select a different style in the file details panel
  3. Custom styles carry over - Styles you create in Word are detected during upload

Best Practices for Word Table Styles

Practice Benefit
Match corporate branding Consistent look across all documents
Use clear header formatting Readers can quickly identify columns
Apply banded rows Improves readability for large tables
Keep fonts consistent Professional appearance
Test with long text Ensure style handles various content

💡 Tip: Create a "style template" Word document with your custom styles defined, then copy these styles to new documents using the Styles organizer.


Template Set Editor

When you select a template set, the editor shows:

File List

All files in the template set with:

  • File name and type (PDF/Word)
  • Mapping status (% mapped)
  • Last modified date

Actions Per File

Action Description
Edit Mapping Open the field mapping interface
Delete File Remove file from the template set
Remove Mapping Clear all mappings for this file

Bulk Actions

Action Description
Remove All Mappings Clear mappings from ALL files in the set
Add Files Add more PDFs or Word documents to the set

Output File Naming

Because each parent record produces its own document, you control how those files are named — the same naming model used for PDF.

Default naming

  • File name: {OriginalFileName}{ID} — the template name plus the record number
  • Subfolder name: {ID} — each record gets its own subfolder

Custom naming (naming editor)

Open the naming editor from Naming Options / the Edit link next to the file names. Naming is composed in two short steps:

  1. Choose what to include — tick the parts you want from the available parent-table fields (e.g. {CustomerName}, {Date}), plus the built-in {OriginalFileName} and {ID}. To add literal text (a prefix or label), tick Custom text and type it in the box.
  2. Set the order and separator — arrange the chosen parts in the order they should appear and pick a separator (dash, underscore, space, or none). Save.

Tip: If you don't include {ID} (or another value that's unique per row), ExForms appends a counter so files never overwrite each other.

Example: {CustomerName}-{Date}-{OriginalFileName} produces Acme-2026-01-15-Contract.docx.


Generating Filled Documents

  1. Select the template set from the tree view
  2. Ensure your Excel data is ready (the workbook associated with this set; the tree highlights the set linked to the open file)
  3. Verify all Content Controls are mapped (100% mapped)
  4. Click "Send Data"
  5. Download the ZIP — it contains one Word document per parent record

Output Structure

One filled .docx per record, named by your naming pattern:

filled_documents.zip
├── Acme-2026-01-15-Contract.docx
├── Globex-2026-01-15-Contract.docx
└── Initech-2026-01-15-Contract.docx

(With the default {ID} subfolder pattern, each document is placed in its own numbered subfolder instead.)


Best Practices

Template Design

  1. Use Rich Text Content Controls - They accept both text and chart images
  2. Name controls descriptively - CustomerName not CC1
  3. Test with sample data - Fill manually first to check layout
  4. Keep charts simple - Charts are captured at 400×300 pixels

Excel Setup

  1. Use Named Ranges for text - Single-cell ranges for text values
  2. Name your Charts - Select chart → Format → Name Box (e.g., "SalesChart")
  3. Keep data organized - Clear naming conventions help with mapping

Mapping

  1. Map all Content Controls - Unmapped CCs remain as placeholders
  2. Classify before mapping - Decide what is static vs per-record so each document gets the right content
  3. Mark shared visuals as static - Logos and summary charts that should appear identically in every document
  4. Test your template first - Verify output before creating many documents

Troubleshooting

"Document cannot be used" Error

Cause: Word document doesn't have Content Controls or they're not named.

Fix:

  1. Open in Word
  2. Enable Developer tab
  3. Add Rich Text Content Controls
  4. Set Title property for each CC
  5. Save and re-upload

Content Control Not Appearing in List

Cause: Content Control doesn't have a Title/Name property.

Fix:

  1. Select the CC in Word
  2. Click Developer → Properties
  3. Enter a Title
  4. Save and re-upload

Chart Not Inserting Correctly

Cause: Chart may be too large or complex.

Fix:

  1. Resize the chart in Excel
  2. Simplify the chart (fewer data points)
  3. Ensure the Content Control is large enough

Same Data Appearing Multiple Times

Expected behavior: If multiple Content Controls have the same name, they all receive the same data. This is by design.

If unintended: Rename Content Controls to have unique names.


Need Help?