如何使用aws-sdk在node js中将Excel文件存储到s3?

6
    var xls = json2xls(data);
    var bufferdata = new Buffer(xls).toString('base64');
    console.log("inside upload s3 function........", data);
    //var buf = new Buffer(data, 'base64');
    var uploaddata = {
        Key: "exception.xls",
        Body: bufferdata,
        ContentEncoding: 'base64',
        ContentType: 'application/vnd.ms-excel'
    };

我能够在s3上保存和检索文件。但是出现了格式不匹配的问题。请帮助我解决这个问题。

2个回答

3

我试过这个方法,对我有用。

const xls = json2xls(data);

const buffer = Buffer.from(xls, 'binary');

console.log("inside upload s3 function........", data);
var uploaddata = {
    Key: "exception.xls",
    Body: buffer,
    ContentType: 'application/vnd.ms-excel'
};

0

Sameer的解决方案对于xlsx/xls文件类型非常完美。

对于CSV,我使用了json2csv包。

const { Parser } = require('json2csv');
const fields = ['id', 'title', 'description'];
const opts = { fields };
const parser = new Parser(opts);
const csv = parser.parse(your data);

const uploaddata = {
Key: "exception.csv",
Body: csv,
ContentType: 'application/vnd.ms-excel'
};

编程愉快 ;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接