节点json2xls可下载文件

时间:2017-02-02 13:21:51

标签: javascript node.js json2xls

我有以下(简单)节点模块:

var json2xls = require('json2xls');
var fs = require('fs');
module.exports = function (router, mongoose) {
    router.route('/client/toExcel')
        .post(function (req, res) {
            var obj = req.body.data;
            var xls = json2xls(obj);

            fs.writeFileSync('data.xlsx', xls, 'binary');
            res.download('data.xlsx');

        });
    return router;
};

现在我从我的前端打电话给我。节点服务器创建文件但是它发送回文件但是作为文本而不是可下载的文件在这里是我的控制台的屏幕截图:

enter image description here

谁能告诉我我做错了什么?

以下是我的要求的图片:

enter image description here

2 个答案:

答案 0 :(得分:1)

您是否尝试过手动表达文件名

res.download('/data.xlsx', 'data.xlsx');

我之前已经取得了成功。

答案 1 :(得分:0)

您只需调用API即可直接下载文件

var json2xls = require('json2xls');
var fs = require('fs');
module.exports = function (router, mongenter code hereoose) {
    router.route('/client/toExcel')
        .post(function (req, res) {
            var obj = req.body.data;

            res.xls('data.xlsx', obj);
        });
    return router;
};