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 @   风意不止  阅读(1969)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
历史上的今天:
2020-09-17 js 如何访问跨域的iframe的元素
点击右上角即可分享
微信分享提示