目录
官方文档
简介
docxtemplater是什么
快速入门
安装
基本使用
基础用法
条件
循环
表格
相关文章
vue导出word,docxtemplater,多重遍历,图片以及判断
官方文档
官方文档链接
简介
docxtemplater是什么
使用Javascript在应用程序中生成docx, pptx或xlsx
Docxtemplater是一个邮件合并工具,以编程方式使用,可以处理条件、循环,还可以扩展以插入图像、html或表。docxtemplater使用Javascript对象(或JSON)作为数据输入,所以它也可以很容易地从其他语言使用(见docker版本)。它处理docx, pptx和一个插件xlsx模板。它的工作方式与模板引擎相同,你给它一个模板+一些数据,它将输出一个生成的文档。许多解决方案,如docx.js、docx4j。Python-docx可以生成docx,但它们需要您编写特定的代码来创建标题、图像等。相比之下,docxtemplater基于标记的概念,每种类型的标记都向编写模板的用户公开一个特性。
快速入门
安装
npm
npm install docxtemplater --save
yarn
yarn add docxtemplater -s
基本使用
基础用法
// js给的数据结构
{
name:'小新',
age:5
}
// word 模板中
偶是{name},年龄:{age}岁
// word文档结果中
偶是小新,年龄:5岁
条件
以 {#000}开始,以 {/000} 结尾
// js给的数据结构
{
"hasHuman": true,
"Human": "家人"
"hasDog": false,
"dog": 流浪狗
}
// word 模板中
{#hasHuman}小白是{Human}{/hasHuman}
{#hasDog}小白是{dog}{/hasDog}
// word文档结果中
小白是家人
循环
循环和条件的用法一致
// js给的数据结构
{
"products": [
{ name: "Windows", price: 100 },
{ name: "Mac OSX", price: 200 },
{ name: "Ubuntu", price: 0 }
]
}
// word 模板中
{#products}
{name}, {price} €
{/products}
// word文档结果中
Windows, 100 €
Mac OSX, 200 €
Ubuntu, 0€
遍历包含基本数据(如字符串)的数组:
// js给的数据结构
{
"products": [
"Windows",
"Mac OSX",
"Ubuntu"
]
}
// word 模板中
{#products} {.} {/products}
// word文档结果中
Windows Mac OSX Ubuntu
表格
word 模板
Name | Age | Phone Number |
---|---|---|
{#users}{name} | {age} | {phone}{/} |
js数据
{
users: [
{ name: "John", age: 22, phone: "+33653454343" },
{ name: "Mary", age: 25, phone: "+33666666666" },
],
}
word结果
Name | Age | Phone Number |
---|---|---|
John | 22 | +33653454343 |
Mary | 25 | +33666666666 |
待更新。。。。。。。。。
相关文章
特别标注:此处都是引用大佬的,我只是一个无情的搬运工,还是需要多多向大佬学习