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 npm install全局安装和本地安装的区别
Jun 05 NodeJs
nodejs简单实现中英文翻译
May 04 NodeJs
Nodejs的express使用教程
Nov 23 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
Nodejs下DNS缓存问题浅析
Nov 16 NodeJs
nodejs redis 发布订阅机制封装实现方法及实例代码
Dec 15 NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 NodeJs
NodeJs模拟登陆正方教务
Apr 28 NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
nodejs简单抓包工具使用详解
Aug 23 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跨服务器访问方法小结
2015/05/12 PHP
PHP错误处理函数
2016/04/03 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
location.href用法总结(最主要的)
2013/12/27 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
幼儿园三八妇女节活动方案
2014/03/11 职场文书
合作意向书格式及范文
2014/03/31 职场文书
护士求职信范文
2014/05/24 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
宣传稿格式范文
2015/07/23 职场文书