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

posted @ 2021-09-17 15:02  风意不止  阅读(1901)  评论(0编辑  收藏  举报