nodejs 生成和导出 word的实例代码


Posted in NodeJs onJuly 31, 2018

前段时间由于项目需求,得做excel和word的导出功能,excel的导出百度一下一大把,小伙伴们都写的好详细,基本打来改改就可以用,可导出word的功能,百度了貌似都找不到可用资料,哎,费解呀。后来找同事,同事们也没整过,看来还得自己上呀。。。

第一次发现原来百度Google这强大,同事推荐的 http://www.baigoogledu.com/

百度Google一起摆 nodejs word  找到https://github.com/Ziv-Barber/officegen   看到这里您老是不就瞬间明白了,源码介绍好详细,认真看

npm install officegen  安装office插件,支持导出word、excel、ppt 

下边附上我的word导出代码,代码有点糙,您老将就看哈

var officegen = require('officegen');
 var fs = require('fs');
 var path = require('path');
 var docx = officegen ( 'docx' );
 var async = require('async');
 /**
 * 导出word
 */
 exports.exportWord = function(req, res) {
  console.log('exportWord-------------');
  docx.on ( 'finalize', function ( written ) {
     console.log ( 'Finish to create Word file.\nTotal bytes created: ' + written + '\n' );
    });
  docx.on ( 'error', function ( err ) {
     console.log ( err );
    });
  var pObj = docx.createP ( { align: 'center' } );// 创建行 设置居中
 pObj.addText ( '血液透析(滤过)治疗知情同意书', { bold: true,font_face: 'Arial', font_size: 18 });// 添加文字 设置字体样式 加粗 大小
 var pObj = docx.createP ();
  pObj.addText ( '姓名' );
  pObj.addText ( ' with color', { color: '000088' } );// 设置字体颜色
 pObj.addText ( '性别' );
  pObj.addText ( '', { color: '00ffff', back: '000088' } );
  pObj.addText ( '年龄' );
  pObj.addText ( '岁', { color: '000088' } );
  var pObj = docx.createP ();
  pObj.addText ( '门诊(住院)号' );
  pObj.addText ( ' with color', { color: '000088' } );
  pObj.addText ( '诊断' );
  pObj.addText ( '', { color: '000088'} );
  var pObj = docx.createP ();
  pObj.addText ( '一、血液透析(滤过)能有效清除身体内过多的水分合霉素,是治疗急性和慢性肾衰竭等疾病的有效方法。' );
  var pObj = docx.createP ();
  pObj.addText ( '二、血液透析(滤过)治疗时,首先需要将患者血液引到体外,然后通过透析或滤过等方法清除水分和霉素,经受理后的血液再回到患者体外。' );
  var pObj = docx.createP ();
  pObj.addText ( '三、为了有效引出血液,治疗前需要建立血管通路(动静脉内痿或深静脉插管)。' );
  var pObj = docx.createP ();
  pObj.addText ( '四、为防止血液在体外管路和透析器发生凝固,一般需要在透析前和透析过程中注射肝素等抗凝药物。' );
  var pObj = docx.createP ();
  pObj.addText ( '五、血透过程中和治疗期间存在下列医疗风险,可能造成严重后果,甚至危及生命:' );
  var pObj = docx.createP ();
  pObj.addText ( '1.低血压,心力衰竭,心肌梗塞,心律失常,脑血管意外;' );
  var pObj = docx.createP ();
  pObj.addText ( '2.空气球栓塞;' );
  var pObj = docx.createP ();
  pObj.addText ( '3.过敏反应;' );
  var out = fs.createWriteStream ( 'out.docx' );// 文件写入
 out.on ( 'error', function ( err ) {
   console.log ( err );
  });
  var result = docx.generate (out);// 服务端生成word
  res.writeHead ( 200, {
// 注意这里的type设置,导出不同文件type值不同application/vnd.openxmlformats-officedocument.presentationml.presentation
   "Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 
 'Content-disposition': 'attachment; filename=out.docx'
 });
  docx.generate (res);// 客户端导出word
 }

总结

以上所述是小编给大家介绍的nodejs 生成和导出 word的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs分离html文件里面的js和css的方法
Apr 09 NodeJs
Nodejs实现用户注册功能
Apr 14 NodeJs
Nodejs文件上传、监听上传进度的代码
Mar 27 NodeJs
在NodeJs中使用node-schedule增加定时器任务的方法
Jun 08 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 #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
You might like
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
Js四则运算函数代码
2012/07/21 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Python 实现一行输入多个值的方法
2018/04/21 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
平面设计专业大学生职业规划书
2014/03/12 职场文书
法律六进活动方案
2014/03/13 职场文书
维稳工作情况汇报
2014/10/27 职场文书
大学生自荐信范文
2015/03/05 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python