使用插件 docxtemplater
有个需求要把订单导出成word文档,百度搜了搜node导word的博客真少,无奈硬着头皮在npm上看英文文档,找了好几个轮子最终实验下docxtemplater深得我心。
要导出的结果
模板文件
根据docxtemplater官网介绍,生成自己的模板文件,接下来就是coding组装你的数据了
var JSZip = require('jszip');
var Docxtemplater = require('docxtemplater');
var fs = require('fs');
var path = require('path');
var date="你封装的数据"
var content = fs
.readFileSync(path.resolve("./", file), 'binary');//你的模板文件
var zip = new JSZip(content);
var doc = new Docxtemplater();
doc.loadZip(zip);
doc.setData(
date
);
doc.render()
var buf = doc.getZip()
.generate({type: 'nodebuffer'});
/**
现在 buf 就是生成的文件内容,你可以fs.write()放到本地,也可以
res.writeHead(200, {
"Content-Type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
'Content-disposition': 'attachment; filename=' + oid + '.docx'
});
res.end(buf)
浏览器下载
*/
docxtemplater 导word 你值得拥有