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 |
---|---|
![]() |
![]() |
Template data
{
"Order": {
"Date": "2018-05-21",
"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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
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"
}
}
]
Links
This demo shows how to add external links to your document. You can find the description of this case in the links section of the documentation.
Scroll down to see source data for the template in JSON format.
Template |
Result |
---|---|
![]() |
![]() |
Template data
[
{
"name": "Coursera",
"type": "Commercial",
"headquarters": "USA",
"linkName": "Go to the site",
"linkURL": "https://plato.stanford.edu/"
},
{
"name": "edX",
"type": "Non-profit",
"headquarters": "USA",
"linkName": "Go to the site",
"linkURL": "https://www.edx.org/"
},
{
"name": "FutureLearn",
"type": "Commercial",
"headquarters": "UK",
"linkName": "Go to the site",
"linkURL": "https://www.futurelearn.com/"
}
]
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 |
---|---|
![]() |
![]() |
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 |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
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"
}
]
}