目录

官方文档

简介

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

待更新。。。。。。。。。

相关文章

特别标注:此处都是引用大佬的,我只是一个无情的搬运工,还是需要多多向大佬学习

vue导出word,docxtemplater,多重遍历,图片以及判断

发表回复