我正在构建我的第一个自定义NodeJS服务器,我想要一些关于如何实现以下过程的指导和建议:
我特别迷上了第3-5部分。我不确定应该使用哪些工具在服务器上使用Node生成Excel工作簿,哪种方式最好将Excel文件作为HTTP响应发送,或者如何让客户端浏览器开始下载接收到的文件。
谢谢!
发布于 2017-03-30 06:42:34
请查看:https://www.npmjs.com/package/excel-export
在这个模块介绍页面中,有一个很好的例子说明了如何:
excel-export
生成excel文件内容。Content-Disposition
自动下载excel文件下面是页面上的示例代码:
var express = require('express');
var nodeExcel = require('excel-export');
var app = express();
app.get('/Excel', function(req, res){
var conf ={};
conf.stylesXmlFile = "styles.xml";
conf.name = "mysheet";
conf.cols = [{
caption:'string',
type:'string',
beforeCellWrite:function(row, cellData){
return cellData.toUpperCase();
},
width:28.7109375
},{
caption:'date',
type:'date',
beforeCellWrite:function(){
var originDate = new Date(Date.UTC(1899,11,30));
return function(row, cellData, eOpt){
if (eOpt.rowNum%2){
eOpt.styleIndex = 1;
}
else{
eOpt.styleIndex = 2;
}
if (cellData === null){
eOpt.cellType = 'string';
return 'N/A';
} else
return (cellData - originDate) / (24 * 60 * 60 * 1000);
}
}()
},{
caption:'bool',
type:'bool'
},{
caption:'number',
type:'number'
}];
conf.rows = [
['pi', new Date(Date.UTC(2013, 4, 1)), true, 3.14],
["e", new Date(2012, 4, 1), false, 2.7182],
["M&M<>'", new Date(Date.UTC(2013, 6, 9)), false, 1.61803],
["null date", null, true, 1.414]
];
var result = nodeExcel.execute(conf);
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
res.end(result, 'binary');
});
app.listen(3000);
console.log('Listening on port 3000');
https://stackoverflow.com/questions/43110191
复制相似问题