JSZipUtils 官方api:How to use JSZip
docxtemplater是一款强大的 Word、Powerpoint 和 Excel生成插件,他可以以参数的形式修改word模板的内容
模板:
import docxtemplater from "docxtemplater"; import PizZip from "pizzip"; import JSZipUtils from "jszip-utils" JSZipUtils.getBinaryContent('/static/test.docx', (error, content) => { if (error) { throw error }; var zip = new PizZip(content); var doc = new docxtemplater() doc.loadZip(zip); //获取数据 doc.setData({ name1: "张三", name2: "李四", name3: "2022-10-1", }); try { doc.render() } catch (error) { var e = { message: error.message, name: error.name, stack: error.stack, properties: error.properties, } console.log(JSON.stringify({ error: e })); throw error; } var out = doc.getZip().generate({ type: "blob", mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", }) //下载 const objectUrl = URL.createObjectURL(out) const link = document.createElement('a') link.href = objectUrl link.download = "test.docx" //设置下载的文件名 link.click() link.remove() })
复制