Demos for XLSX templates

Purchase Order

This demo demonstrates how to create a template for a Purchase Order document.

You can find description of this case in Create XLSX from template article.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel purchase order template showing vendor details, shipping information, and line items

Download result document

Generated purchase order workbook populated with vendor, shipping, and product data

Template data

{
  "Order": {
    "Date": "2026-06-01",
    "Number": "432"
  },
  "Vendor": {
    "CompanyName": "Acme Corp",
    "Address": "123 James Street, Miami, USA",
    "Email": "sample@acme.com",
    "Phone": "555-777-9999"
  },
  "ShipTo": {
    "CompanyName": "Contoso Inc.",
    "Address": "1234 North Expressway, Arizona, USA",
    "Email": "sample@contoso.com",
    "Phone": "111-222-8900"
  },
  "items": [
    {
      "product": {
        "name": "Monitor",
        "price": 99
      },
      "quantity": 10
    },
    {
      "product": {
        "name": "Stepler",
        "price": 12.44
      },
      "quantity": 1000
    },
    {
      "product": {
        "name": "Fridge",
        "price": 4219.99
      },
      "quantity": 1
    },
    {
      "product": {
        "name": "Microwave",
        "price": 99.99
      },
      "quantity": 5
    },
    {
      "product": {
        "name": "Pen",
        "price": 7.23
      },
      "quantity": 100
    }
  ]
}

Regular table

This demo shows how to create a table based on an array of objects. You can find the description of this case in the tables documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template containing a table bound to an employee data collection

Download result document

Generated Excel table displaying employee information from source data

Template data

{
    "company": {
        "name": "Plumsail",
        "email": "contact@plumsail.com"
    },
    "employees": [
        {
            "name": "Derek Clark",
            "jobTitle": "Marketing director",
            "department": "Marketing Department",
            "office": "Room 18",
            "phone": "(206) 854-9798"
        },
        {
            "name": "Xue Li",
            "jobTitle": "Financial director",
            "department": "Financial Department",
            "office": "Room 19",
            "phone": "(206) 598-1259"
        },
        {
            "name": "Jessica Adams",
            "jobTitle": "Marketing manager",
            "department": "Marketing Department",
            "office": "Room 23",
            "phone": "(206) 789-1598"
        },
        {
            "name": "Katsuko Kawakami",
            "jobTitle": "Analyst",
            "department": "Financial Department",
            "office": "Room 26",
            "phone": "(206) 784-1258"
        }
    ]
}

Dynamic table

Dynamic table from an array

This demo shows how to create dynamic tables from arrays by just adding a single tag into the template document. You can find the description of this case in the tables documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template configured to generate a table from a nested array

Download result document

Generated Excel table created dynamically from array data

Template data

{
    "myArray": [
        [
            "between",
            "inter-",
            "epi-"
        ],
        [
            "above, excess",
            "super-, ultra-",
            "hyper-"
        ],
        [
            "inside",
            "intra-",
            "endo-"
        ],
        [
            "outside",
            "extra-, extro-",
            "ecto-, exo-"
        ]
    ]
}

Dynamic table from a number of arrays

This demo shows how to create dynamic tables from several objects with nested arrays. You can find the description of this case in the tables documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template generating table columns from multiple nested arrays

Download result document

Generated Excel table with dynamically created columns from nested array data

Template data

{
    "company": "Plumsail",
    "contacts": {
        "website": "http://plumsail.com",
        "support": "contacts@plumsail.com",
        "sales": "sales@plumsail.com"
    },
    "employees": [
        {
            "name": "Derek Clark",
            "metadata": [
                [
                    "Marketing director",
                    "Room 18",
                    "(206) 854-9798"
                ]
            ]
        },
        {
            "name": "Xue Li",
            "metadata": [
                [
                    "Financial director",
                    "Room 19",
                    "(206) 598-1259"
                ]
            ]
        },
        {
            "name": "Jessica Adams",
            "metadata": [
                [
                    "Marketing manager",
                    "Room 23",
                    "(206) 789-1598"
                ]
            ]
        },
        {
            "name": "Katsuko Kawakami",
            "metadata": [
                [
                    "Analyst",
                    "Room 26",
                    "(206) 784-1258"
                ]
            ]
        }
    ]
}

Repeat multiple table rows

This demo shows how to occupy multiple table rows by properties of a single object from your source array. You can find the description of this case in the tables documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template configured to repeat multiple worksheet rows for each data item

Download result document

Generated worksheet showing repeated rows for each record in the source data

Template data

[
    {
        "name": "David Navarro",
        "phone": "(206) 854-9798",
        "title": "Head of Marketing"
    },
    {
        "name": "Jessica Adams",
        "phone": "(206) 789-1598",
        "title": "Financial director"
    },
    {
        "name": "Anil Mittal",
        "phone": "(206) 784-1258",
        "title": "Sales manager"
    }
]

Loops and nesting

This demo demonstrates how to create complex nested documents based on nested objects and collections. You can find the description of this case in the loops and nesting documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template using nested loops to display quarterly sales data

Download result document

Generated workbook showing hierarchical sales data rendered through nested loops

Template data

{
    "reports":[
        {
            "quarter": "Q1",
            "sales": [
                {
                    "month": "Jan",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 63225.81
                        },
                        {
                            "name": "Fridge",
                            "total": 15500
                        },
                        {
                            "name": "Microwave",
                            "total": 29032.26
                        }
                    ]
                },
                {
                    "month": "Feb",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 47419.35
                        },
                        {
                            "name": "Fridge",
                            "total": 20500
                        },
                        {
                            "name": "Microwave",
                            "total": 23467.74
                        }
                    ]
                },
                {
                    "month": "Mar",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 48548.39
                        },
                        {
                            "name": "Fridge",
                            "total": 12500
                        },
                        {
                            "name": "Microwave",
                            "total": 19354.83
                        }
                    ]
                }
            ]
        },
        {
            "quarter": "Q2",
            "sales": [
                {
                    "month": "Apr",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 54193.55
                        },
                        {
                            "name": "Fridge",
                            "total": 14500
                        },
                        {
                            "name": "Microwave",
                            "total": 35080.65
                        }
                    ]
                },
                {
                    "month": "May",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 44032.25
                        },
                        {
                            "name": "Fridge",
                            "total": 17500
                        },
                        {
                            "name": "Microwave",
                            "total": 24435.48
                        }
                    ]
                },
                {
                    "month": "Jun",
                    "products": [
                        {
                            "name": "Television set",
                            "total": 42903.23
                        },
                        {
                            "name": "Fridge",
                            "total": 11500
                        },
                        {
                            "name": "Microwave",
                            "total": 36290.32
                        }
                    ]
                }
            ]
        }
    ]
}

Formulas

This demo shows how to use formulas to your document. You can find a description of these case in the formulas section of the documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template containing formulas that reference generated data

Download result document

Generated Excel workbook with calculated formula results

Template data

{
    "currentWeek": [
        {
            "description": "May, 14 - May, 18",
            "currentRate": "1.1767",
            "fruits": [
                {
                    "type": "Apples",
                    "number": {
                        "Monday": 15,
                        "Tuesday": 8,
                        "Wednesday": 1,
                        "Thursday": 17,
                        "Friday": 7
                    },
                    "price": 0.5
                },
                {
                    "type": "Oranges",
                    "number": {
                        "Monday": 14,
                        "Tuesday": 20,
                        "Wednesday": 22,
                        "Thursday": 8,
                        "Friday": 19
                    },
                    "price": 0.5
                },
                {
                    "type": "Bananas",
                    "number": {
                        "Monday": 17,
                        "Tuesday": 24,
                        "Wednesday": 31,
                        "Thursday": 9,
                        "Friday": 22
                    },
                    "price": 0.4
                },
                {
                    "type": "Pears",
                    "number": {
                        "Monday": 11,
                        "Tuesday": 25,
                        "Wednesday": 6,
                        "Thursday": 18,
                        "Friday": 13
                    },
                    "price": 0.6
                },
                {
                    "type": "Peaches",
                    "number": {
                        "Monday": 27,
                        "Tuesday": 19,
                        "Wednesday": 23,
                        "Thursday": 17,
                        "Friday": 5
                    },
                    "price": 0.3
                }
            ]
        }
    ]
}

Pie and clustered column charts

This demo shows how to create charts in your document. You can find a description of these cases in the pie charts and clustered column charts sections of the documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template containing source data and chart definitions

Download result document

Generated Excel workbook with charts populated from dynamic data

Template data

[
    {
        "title": "Countries by coffee production",
        "description": "Production in thousand kilogram bags",
        "prod": [
            {
                "country": "Brazil",
                "value2015": 37600,
                "value2016": 43200,
                "value2017": 51500
            },
            {
                "country": "Vietnam",
                "value2015": 22000,
                "value2016": 27500,
                "value2017": 28500
            },
            {
                "country": "Colombia",
                "value2015": 11300,
                "value2016": 13500,
                "value2017": 14000
            },
            {
                "country": "Indonesia",
                "value2015": 14000,
                "value2016": 11000,
                "value2017": 10800
            },
            {
                "country": "Honduras",
                "value2015": 7500,
                "value2016": 5800,
                "value2017": 8349
            },
            {
                "country": "Other countries",
                "value2015": 37358
                "value2016": 44229,
                "value2017": 51000,
            }
        ]
    }
]

Charts on multiple worksheets

This demo shows how to create charts on multiple worksheets in one file. You can find a description of this case in the charts on multiple worksheets section of the documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template configured to create charts on separate worksheets

Download result document

Generated Excel workbook containing charts distributed across multiple worksheets

Template data

[
    {
        "title": "Coffee production by country",
        "description": "Production in thousand kilogram bags",
        "prod": [
            {
                "Brazil": {
                    "value1": 25600,
                    "value2": 32200,
                    "value3": 34500
                },
                "Vietnam": {
                    "value1": 28500,
                    "value2": 18500,
                    "value3": 17500
                },
                "Colombia": {
                    "value1": 11300,
                    "value2": 13500,
                    "value3": 14000
                },
                "Indonesia": {
                    "value1": 14000,
                    "value2": 11000,
                    "value3": 19800
                },
                "IvoryCoast": {
                    "value1": 4100,
                    "value2": 1600,
                    "value3": 8000
                },
                "OtherCountries": {
                    "value1": 37358,
                    "value2": 44229,
                    "value3": 51000
                }
            }
        ]
    },
    {
        "title": "Cocoa production by country",
        "description": "Production in 1000 tonnes",
        "prod": [
            {
                "Brazil": {
                    "value1": 256,
                    "value2": 140,
                    "value3": 180
                },
                "Vietnam": {
                    "value1": 34,
                    "value2": 12,
                    "value3": 6
                },
                "Colombia": {
                    "value1": 0,
                    "value2": 0,
                    "value3": 0
                },
                "Indonesia": {
                    "value1": 777,
                    "value2": 600,
                    "value3": 500
                },
                "IvoryCoast": {
                    "value1": 1345,
                    "value2": 1200,
                    "value3": 1448
                },
                "OtherCountries": {
                    "value1": 1834,
                    "value2": 1789,
                    "value3": 1085
                }
            }
        ]
    },
    {
        "title": "Another commodity production",
        "description": "Production in some units",
        "prod": [
            {
                "Brazil": {
                    "value1": 106,
                    "value2": 158,
                    "value3": 80
                },
                "Vietnam": {
                    "value1": 34,
                    "value2": 56,
                    "value3": 10
                },
                "Colombia": {
                    "value1": 33,
                    "value2": 48,
                    "value3": 65
                },
                "Indonesia": {
                    "value1": 98,
                    "value2": 105,
                    "value3": 80
                },
                "IvoryCoast": {
                    "value1": 23,
                    "value2": 30,
                    "value3": 41
                },
                "OtherCountries": {
                    "value1": 151,
                    "value2": 184,
                    "value3": 216
                }
            }
        ]
    }
]

Multiple worksheets

This demo shows how to create multiple worksheets in one file. You can find the description of this case in the multiple worksheets section of the documentation.

Scroll down to see source data for the template in JSON format.

Note

Multiple worksheets template work if the Sheet name tag is used only for the Sheet name and not used anywhere else in the sheet. In the example below, we use a tag “sheetName” to name the sheets.

Template

Result

Download template document

Excel template configured to generate multiple worksheets from source data

Download result document

Generated Excel workbook with dynamically created worksheets

Template data

[
    {
        "sheetName": "Jessica Adams",
        "name": "Jessica Adams",
        "jobInfo": {
            "title": "Marketing manager",
            "department": "Marketing Department",
            "manager": "Derek Clark",
            "telephone": "(206) 789-1598",
            "dateOfHire": "2012-04-21T00:00:00"
        },
        "personalInfo": {
            "address": "132, My Street, Kingston, New York 12401",
            "cell": "(123) 555-5551",
            "dateOfBirth": "1983-08-22",
            "SIN": "046 454 286"
        },
        "inCaseOfEmergency": {
            "name": "Sarah Adams",
            "relationship": "Mom",
            "telephone": "(123) 987-6541",
            "cell": "(123) 444-4441"
        }
    },
    {
        "sheetName": "Katsuko Kawakami",
        "name": "Katsuko Kawakami",
        "jobInfo": {
            "title": "Analyst",
            "department": "Financial Department",
            "manager": "Xue Li",
            "telephone": "(206) 784-1258",
            "dateOfHire": "2016-03-06T00:00:00"
        },
        "personalInfo": {
            "address": "257, My Street, East Village, New York 12401",
            "cell": "(123) 555-5552",
            "dateOfBirth": "1979-09-19",
            "SIN": "073 454 287"
        },
        "inCaseOfEmergency": {
            "name": "Jane Smith",
            "relationship": "Friend",
            "telephone": "(123) 987-6542",
            "cell": "(123) 333-3332"
        }
    },
    {
        "sheetName": "Brenda Coel",
        "name": "Brenda Coel",
        "jobInfo": {
            "title": "Marketing director",
            "department": "Marketing Department",
            "manager": "Derek Clark",
            "telephone": "(206) 854-9798",
            "dateOfHire": "2011-11-05T00:00:00"
        },
        "personalInfo": {
            "address": "87, My Street, Lower East Side, New York 12401",
            "cell": "(123) 555-5553",
            "dateOfBirth": "1975-12-01",
            "SIN": "051 454 288"
        },
        "inCaseOfEmergency": {
            "name": "John Smith",
            "relationship": "Husband",
            "telephone": "(123) 987-6543",
            "cell": "(123) 222-2223"
        }
    }
]

Conditionally hide blocks

Clearing cells

This demo shows how to conditionally clear content in Excel cells or named ranges. You can find the description of this case in the conditionally hide blocks section of the documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template configured to clear cell values based on conditions

Download result document

Generated Excel workbook with cells cleared according to template conditions

Template data

{
  "companyName": "Plumsail",
  "site": "http://plumsail.com",
  "contacts": null,
  "hideConfNotice": true
}

Filtering repeatable blocks

This demo shows how to conditionally filter repeatable content in Excel. You can find the description of this case in the conditionally hide blocks section of the documentation.

Scroll down to see source data for the template in JSON format.

Template

Result

Download template document

Excel template configured to hide worksheet rows based on data conditions

Download result document

Generated Excel worksheet with selected rows hidden according to source data

Download template document

Excel template configured to hide rows within a structured table

Download result document

Generated Excel table with conditional row visibility applied

Download template document

Excel template configured to hide a specified range of worksheet cells

Download result document

Generated Excel worksheet with a cell range hidden based on template logic

Download template document

Excel template configured to hide worksheets conditionally

Download result document

Generated Excel workbook with selected worksheets hidden according to source data

Template data

{
"employees": [{
    "name": "Lee Gu",
    "title": "Director",
    "department": "Manufacturing",
    "manager": "Patti Fernandez",
    "dateOfHire": "2007-03-29",
    "address": "6351 Fringilla Avenue",
    "cell": "(559) 104-5475",
    "dateOfBirth": "1971-08-09",
    "SIN": "778-62-8144"
  },
  {
    "name": "Henrietta Mueller",
    "title": "Developer",
    "department": "R&D",
    "manager": "Lee Gu",
    "dateOfHire": "2017-09-19",
    "address": "574-8633 Arcu Street",
    "cell": "(861) 546-5032",
    "dateOfBirth": "1987-01-31",
    "SIN": "757-85-7495"
  },
  {
    "name": "Johanna Lorenz",
    "title": "Senior Engineer",
    "department": "Engineering",
    "manager": "Lee Gu",
    "dateOfHire": "2012-05-11",
    "address": "6818 Eget St.",
    "cell": "(425) 288-2332",
    "dateOfBirth": "1982-04-12",
    "SIN": "149-13-7317"
  }
]

}