docx-templates 前端生成word

1,834 阅读1分钟

背景

项目中需要将数据导出成 Word 文档的形式,只需要展示数据即可,因此选用了 docx-templates ,简单易上手,满足项目需求。

简单 Demo

  • 安装 docx-templates npm install docx-templates

  • 创建 demo.js

/**
*  @cmdDelimiter  定义了模板中变量的边界, 可以自己自由定义
*  @template 定义的模板
*  @data  数据
*/
const { createReport } = require('docx-templates');
const fs = require('fs');

const onCreateReport = async () => {
    const template = fs.readFileSync('模板.docx');

    const buffer = await createReport({
        cmdDelimiter: '`',  // 
        template,  //  
        data: {    
            title: '标题',
            describe: '在这里输出一段描述',
        },
    });

    fs.writeFileSync('输出文档.docx', buffer)
}

onCreateReport();
  • 创建 模板.docx
标题:`=title`

描述:`=describe`
  • 执行 node demo.js

  • 运行生成 输出文档.docx ,显示的内容是:

标题:标题

描述:在这里输出一段描述