一个需求是一个word模板加入用户填写的数据,需要可以打包下载,
这个时候的想法便是将word模板写成html,再将html转成word然后打包下载
网上搜索说是使用html-to-docx,使用这个会报错,还看到说没有使用mamonth,最后都是不行
直到我发现可以不用插件就完成这个功能,js原生就行
下面便是代码,JSZip是一个压缩的插件
// 创建一个虚拟的HTML文档
const doc = document.implementation.createHTMLDocument('')
doc.body.innerHTML = htmlContent
// 将HTML文档转换为Word
const wordContent = `<!DOCTYPE html>
<html xmlns:w="urn:schemas-microsoft-com:office:word">
<head>
<meta charset="utf-8">
<title>Export to Word</title>
<style>
/* 在这里添加任何想要的样式 */
img{max-width:100px;width:100px ;}
</style>
</head>
<body>
${doc.body.innerHTML}
</body>
</html>`
// 创建一个Blob