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、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
nodejs之get/post请求的几种方式小结
Jul 26 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 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和ACCESS写聊天室(二)
2006/10/09 PHP
第十节--抽象方法和抽象类
2006/11/16 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
Python写的一个简单监控系统
2015/06/19 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
Python帮你识破双11的套路
2019/11/11 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
实用的简历自我评价
2014/03/06 职场文书
财务担保书范文
2014/04/02 职场文书
广播体操比赛口号
2014/06/10 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书