欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 导出word模板开发记录

导出word模板开发记录

2025/2/21 3:14:04 来源:https://blog.csdn.net/ya_nan_zhang/article/details/140034830  浏览:    关键词:导出word模板开发记录

exportWordDocx.js

import JSZipUtils from “jszip-utils”
import Docxtemplater from “docxtemplater”
import {saveAs} from “file-saver”
import PizZip from “pizzip”

const exportWordDocx = (demoUrl, docxData, fileName) => {// 读取并获得模板文件的二进制内容JSZipUtils.getBinaryContent(demoUrl,function (error, content) {// 抛出异常if (error) {throw error}// 创建一个PizZip实例,内容为模板的内容let zip = new PizZip(content)// 创建并加载docxtemplater实例对象let doc = new Docxtemplater(zip, {linebreaks: true,nullGetter: function () {return ""}})doc.setData({...docxData,})try {// 用模板变量的值替换所有模板变量doc.render()} catch (error) {// 抛出异常let e = {message: error.message,name: error.name,stack: error.stack,properties: error.properties,}// console.log(JSON.stringify({error: e}))throw error}// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)let out = doc.getZip().generate({type: "blob",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",})// 将目标文件对象保存为目标类型的文件,并命名saveAs(out, fileName)})
}

export default exportWordDocx

使用:
import exportWordDocx from “…/exportWordDocx”

exportWordDocx(baseUrl + “doc/template2.docx”,{
a:‘要替换的字段’.b:‘要替换的字段2’}, ‘文件名称.doc’)

模板文件template2.docx:
{a}{b}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词