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的url截取模块url-extract的使用实例
Nov 18 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
Nodejs高扩展性的模板引擎 functmpl简介
Feb 13 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
NodeJS使用七牛云存储上传文件的方法
Jul 24 NodeJs
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
Jan 05 NodeJs
Nodejs Express 通过log4js写日志到Logstash(ELK)
Aug 30 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
独立部署小程序基于nodejs的服务器过程详解
Jun 24 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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python基础教程之循环介绍
2014/08/29 Python
python回调函数中使用多线程的方法
2017/12/25 Python
python实现简单flappy bird
2018/12/24 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python之array赋值技巧分享
2019/11/28 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
医学护理系毕业生求职信
2013/10/01 职场文书
通信工程毕业生求职信
2013/11/16 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
网络管理专业求职信
2014/03/15 职场文书
篮球比赛口号
2014/06/10 职场文书
环境日宣传活动总结
2014/07/09 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
个人授权委托书样本
2014/09/13 职场文书
高中社区服务活动报告
2015/02/05 职场文书
Kubernetes控制节点的部署
2022/04/01 Servers
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers