【问题标题】:Generate an XLS file from JSON and send it on HTTPS response从 JSON 生成 XLS 文件并通过 HTTPS 响应发送
【发布时间】:2020-09-14 19:50:24
【问题描述】:

因此,在 HTTPS 云函数中,我从我的数据库中获取一个对象数组,并由此生成一个 XLS 文件并将其发送到响应中。我正在使用js2excel 库,但它不会生成下载文件。

const json2excel = require('js2excel');

exports.getUserOnXlsFile = functions.https.onRequest((req, res) => {
    cors(req, res, () => {
        return getFromDataBaseHelper()
        .then(listFromDatabase =>{
            try {
                var xlsFile = json2excel(listFromDatabase);
                res.send(xlsFile);
            } catch (e) {
                console.error('export error', e);
                res.status(500).send(e);
            }
        })
        .catch(error => {
            console.error('Error getting chefs:', error);
            res.status(500).send(error);
        })
    });
});

【问题讨论】:

  • 有错误提示吗?
  • @n ReferenceError: Blob 未定义

标签: javascript node.js firebase google-cloud-functions


【解决方案1】:

我找到了这样的解决方法:

exports.getUserOnXlsFile = functions.https.onRequest((req, res) => {
    cors(req, res, () => {
        return getFromDataBaseHelper()
        .then(response =>{
            try {
                const csv = json2csv(response)
                res.setHeader(
                  "Content-disposition",
                  "attachment; filename=UserList.csv"
                )
                res.set("Content-Type", "text/csv")
                res.status(200).send(csv)
            } catch (e) {
                console.error('export error', e);
                res.status(500).send(e);

            }

        })
        .catch(error => {
            console.error('Error getting user:', error);
            res.status(500).send(error);
        })
    });
});

不是很好,也不是很糟糕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 2012-01-20
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多