Chart module for docxtemplater.
You will need docxtemplater v1: npm install docxtemplater
install this modile: npm install docxtemplater-chart-module
Your docx should contain the text: {$chart}
var fs = require('fs');
var ChartModule = require(‘docxtemplater-chart-module’);
var chartModule = new ChartModule();
var docx = new DocxGen()
.attachModule(chartModule)
.load(content)
.setData({
chart: {
lines: [
{
name: 'line 1',
data: [
{
x: 'day 1',
y: '4.3'
},
{
x: 'day 2',
y: '2.5'
},
{
x: 'day 3',
y: '3.5'
}
]
},
{
name: 'line 2',
data: [
{
x: 'day 1',
y: '2.4'
},
{
x: 'day 2',
y: '4.4'
},
{
x: 'day 3',
y: '1.8'
}
]
}
]
}
})
.render();
var buffer = docx
.getZip()
.generate({type:"nodebuffer"});
fs.writeFile("test.docx", buffer);defaultOptions = {
width: 5486400 / 9525,
height: 3200400 / 9525,
grid: true,
border: true,
title: false,
legend: {
position: 'r', // 'l', 'r', 'b', 't'
},
axis: {
x: {
orientation: 'minMax', // 'maxMin'
min: undefined, // number
max: undefined,
type: undefined, // 'date'
date: {
format: 'unix',
code: 'mm/yy', // "m/yy;@"
unit: 'months', // "days"
step: '1'
}
},
y: {
orientation: 'minMax',
mix: undefined,
max: undefined
}
}
}You can build the coffee into js by running gulp (this will watch the directory for changes)
You can test that everything works fine using the command mocha. This will also create 3 docx files under the root directory that you can open to check if the docx are correct
- Chart creation in loop contributed by colmben
- Border option, enabled by default
- bug fixes
- title option, disabled by default
- steps for date type
- type 'date' support
- time format in 'unix' or '1900' (amount of days since 1900)
- units for steps on axis
- formatCode for like i.e: 'd/m/yy' or 'm/yyyy'
- grid option
- lines on axis are still stacking, sadly
- x and y axises flipped in options, now correct
- min and max axis values options added
- options are nested now for easier readability