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 相关文章推荐
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
深入理解nodejs中Express的中间件
May 19 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 NodeJs
NodeJS 中Stream 的基本使用
Jul 30 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
监控Nodejs的性能实例代码
Jul 02 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 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 MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
javascript制作2048游戏
2015/03/30 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
python统计cpu利用率的方法
2015/06/02 Python
python发送邮件实例分享
2017/07/28 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
python 生成器需注意的小问题
2020/09/29 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
上课迟到检讨书100字
2014/01/11 职场文书
个人函授自我鉴定
2014/03/25 职场文书
预备党员公开承诺书
2014/05/28 职场文书
Python中npy和mat文件的保存与读取
2022/04/24 Python
Tomcat配置访问日志和线程数
2022/05/06 Servers