nodejs(officegen)+vue(axios)在客户端导出word文档的方法


Posted in NodeJs onJuly 31, 2018

前言

我的项目中有一个需求:点击按钮生成可编辑的word文档订单详情的信息

我使用的前端框架是Vue.js、后台使用的是node.js

node.js生成和导出word文档我参考的是下面这两篇文章,写的挺好的(github上的那篇里面还有node.js生成word、excel、ppt的example,需要详细的可以看里面)

解决方法:利用了blob对象,Blob对象可以看做是存放二进制数据的容器,它是一个二进制大对象,是一个可以存储二进制文件的容器。

methods:{
  handleClick(row){
  console.log(row);
  var orderId = row.orderId + row.oid.toString();
  console.log(orderId);
  this.$ajax({
  method:"get",
  url:"http://localhost:8081/order/getDoc",
  responseType:'blob'
  }).then((res)=>{
  //这里res.data是返回的blob对象
  var blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.wordprocessingml.document这里表示doc类型
  var downloadElement = document.createElement('a');
  var href = window.URL.createObjectURL(blob); //创建下载的链接
  downloadElement.href = href;
  downloadElement.download = orderId+'.docx'; //下载后文件名
  document.body.appendChild(downloadElement);
  downloadElement.click(); //点击下载
  document.body.removeChild(downloadElement); //下载完成移除元素
  window.URL.revokeObjectURL(href); //释放掉blob对象
  })
  }
 }

nodejs(officegen)+vue(axios)在客户端导出word文档的方法

总结

以上所述是小编给大家介绍的nodejs(officegen)+vue(axios)在客户端导出word文档的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
14款NodeJS Web框架推荐
Jul 11 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
Nodejs+express+html5 实现拖拽上传
Aug 08 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
Nodejs之http的表单提交
Jul 07 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 NodeJs
nodejs 十六进制字符串型数据与btye型数据相互转换
Jul 30 #NodeJs
NodeJS 中Stream 的基本使用
Jul 30 #NodeJs
Nodejs实现爬虫抓取数据实例解析
Jul 05 #NodeJs
nodejs的路径问题的解决
Jun 30 #NodeJs
nodejs用gulp管理前端文件方法
Jun 24 #NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 #NodeJs
nodejs实现套接字服务功能详解
Jun 21 #NodeJs
You might like
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
php简单分页类实现方法
2015/02/26 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
js时间控件只显示年月
2017/01/08 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
JS实现多选框的操作
2020/06/24 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python笔记之工厂模式
2019/11/20 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
什么是Rollback Segment
2013/04/22 面试题
中专生学习生活的自我评价分享
2013/10/27 职场文书
培训专员岗位职责
2014/02/26 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
公证委托书格式
2014/09/13 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书