Vue3使用docx模板,导出为word文件的一系列坑。https://docxtemplater.readthedocs.io/(jquery搞这些就很舒服)
jquery时代word导出方案
那时候 很简单
引入两个js插件,
FileSaver.js、jquery.wordexport.js
确定一个div
点击触发下载了
代码比较简单
本文就不说了,笔者的博客中也有
vue2时代的word导出方案
一句话,使用docxtemplater
官网地址:
https://docxtemplater.readthedocs.io/
需要四五个插件?、
这个,好像比较接近答案
https://www.jianshu.com/p/0de31429b12a
vue3导出word,vue3没有this怎么办
这里涉及到VUE3里,好像更全面点
https://www.jianshu.com/p/b3622d6f8d98
这里的注释多一点
https://www.cnblogs.com/hejun26/p/13647927.html
vue3的setup里是无法使用this的,那就用 getCurrentInstance代替this
https://blog.csdn.net/versionli/article/details/116658613
关于getcurrentInstance的详细解释
https://my.oschina.net/u/4355717/blog/4767509
最终的结论竟然是:
大家不要依赖 getCurrentInstance 方法去获取组件实例来完成一些主要功能,否则在项目打包后,一定会报错的。
要解决json字符串的换行问题和表单的循环渲染问题
1.字符串中加上\n
,\r\n
都不能换行。这是docxtemplater的问题
2.如何渲染表格
使用新的插件来生成docx文件
方法一、技术实现:fileSaver.js+html-docx-js
方法二、jQuery中的插件jquery.wordexport.js+fileSaver.js
https://www.cnblogs.com/younghxp/p/14918734.html