Javascript 节点json2xls可下载文件

Javascript 节点json2xls可下载文件,javascript,node.js,json2xls,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

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

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;
};
现在,当我从我的前端调用它时。节点服务器创建文件,但会将文件发回,但会将其作为文本而不是可下载文件。这是我的控制台上的屏幕截图:

谁能告诉我我做错了什么

以下是我请求的图像:


您是否尝试过像这样手动告诉express文件名

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

我以前在这方面做得很成功。

只需调用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;
};

如何在不将文件写入服务器的情况下在客户端(浏览器)中下载?它无法工作。我在excel中得到以下错误。已删除部分:/xl/sharedStrings.xml包含xml错误的部分。(字符串)非法的xml字符。第1行第153栏。已删除记录:来自/xl/worksheets/sheet.xml部分的单元格信息数据有问题。