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的10个性能优化技巧
Jul 15 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs中Express与Koa2对比分析
Feb 06 NodeJs
nodejs简单读写excel内容的方法示例
Mar 16 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 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中的正规表达式(一)
2006/10/09 PHP
php实现rc4加密算法代码
2012/04/25 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
Yii使用技巧大汇总
2015/12/29 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
javascript第一课
2007/02/27 Javascript
Display SQL Server Version Information
2007/06/21 Javascript
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
面向切面编程(AOP)的理解
2015/05/01 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现随机密码字典生成器示例
2014/04/09 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
从python读取sql的实例方法
2020/07/21 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
彪马英国官网:PUMA英国
2019/02/11 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
学习保证书100字
2015/02/26 职场文书
清明节随笔
2015/08/15 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python