nodejs 生成和导出 word

前段时间由于项目需求,得做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

}

时间: 2024-09-29 05:24:28

nodejs 生成和导出 word的相关文章

自动生成并导出word文档

今天很荣幸又破解一现实难题:自动生成并导出word文档 先看页面效果: word效果: 代码: 先搭建struts2项目 创建action,并在struts.xml完成注册 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

nodejs导出word

nodejs导出word这个让人很苦恼,也是研究了半天,不过在同事的一起奋斗下和百度这个强大的工具下还是勉强完成了.这里使用的是officegen这个插件,这个插件还是很厉害的,可以导出excel.PPT,word: 首先引入officegen:var officegen = require('officegen');//之后是代码中使用了:router.get('/exportWord', function (req, res) {try {var docx = officegen('docx

iText导出word入门

最近一个项目需要导出word文档,网上了解了一下,发现poi导出excel比较好,但是导出word就力不从心了,大家都比较推荐iText,于是试了试,感觉还不错. 我用的是2.1.7版本. 1. 使用maven导入依赖 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> <

Java用freemarker导出word

最近一个项目要导出word文档,折腾老半天,发现还是用freemarker的模板来搞比较方便省事,现总结一下关键步骤,供大家参考,这里是一个简单的试卷生成例子. 一.模板的制作 先用Word做一个模板,如下图: (注意,上面是有表格的,我设置了边框不可见)然后另存为XML文件,之后用工具打开这个xml文件,有人用firstobject XML Editor感觉还不如notepad++,我这里用notepad++,主要是有高亮显示,和元素自动配对,效果如下: 上面黑色的地方基本是我们之后要替换的地

PHP生成 excl、word文件

PHP生成 excl.word文件 $time = time();   $filename = date("Y年m月d日h点m分s秒", $time).'问卷数据';  $rows =  Sp_Looks_Vote::downvote();  $file = $filename.".csv";  header('Content-Description: File Transfer');  header('Content-Type: application/octet

NPOI 2.0导出word(docx格式)

大名鼎鼎的NPOI用来导出EXCEL的文章园子里面有很多,可是用来导出WORD文档的文章大都含糊不清,最近刚好完成一个导出WORD文档的需求,在此分享下. NPOI里面认为word文档的最基本的结构是段落,代表这个段落的类就是XWPFParagraph,使用这个类可以设置段落里面的字体.大小.以及是否加粗等. 代表整个文档的的类XWPFDocument,是最外层的容器相当于一个word文档的实例,代表表格的类XWPFTable,是较小级别的段落容器相当于一个表格的实例. 一个XWPFDocume

C#,WPF使用word模板导出word文档

使用word模板导出word文档,首先需要在word模板中插入书签: 根据创建的书签名和位置,将需要写入的内容插入到word文件中. 需要引用  Microsoft.Office.Interop.Word;在添加引用-程序集中搜索可以找到. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows; usin

按照word/Excel模板导出word/excel

最近项目要实现下载打印的功能,想了想,用水晶报表实在是大材小用, 用office组件直接就可以实现这一功能. 引用类 using Microsoft.Office.Interop.Word; 建立两个实体类 一个是导出word需要替换内容的配置,一个是替换内容的实体 public class AgentInfoEntity     {                 private string comname; public string ComName         {          

.NET通过调用Office组件导出Word文档

.NET通过调用Office组件导出Word文档 最近做项目需要实现一个客户端下载word表格的功能,该功能是用户点击"下载表格",服务端将该用户的数据查询出来并生成数据到Word模板中,再反馈给客户端下载. 实现思路如下: 利用微软提供的Office的组件来完成,在服务器端指定目录放置一个word模板(该模板中需要替换的数据信息用书签标记好),当请求过来的时候,读取模板信息并将书签内容替换成从数据库获得的信息在返回给客户端下载即可,代码如下: #region 根据申请单ID号和模板生