通过javascript将数据导出为多张工作表的csv

6vl6ewon  于 2022-12-06  发布在  Java
关注(0)|答案(1)|浏览(144)

是否可以生成包含多个数据的CSV文件?我有2个选项卡,其中包含不同类型的问题,如一般和高级问题。填写表格后,我希望将数据导出到一个包含2张表的CSV文件中。例如,mydata.csv将是文件名,两张表包含一般和高级信息。

ttp71kqs

ttp71kqs1#

您可以使用以下代码

function concatCSVAndOutput(csvFilePaths, outputFilePath) {
const promises = csvFilePaths.map((path) => {
    return new Promise((resolve) => {
    const dataArray = [];
    return csv
        .parseFile(path, {headers: true})
        .on('data', function(data) {
            dataArray.push(data);
        })
        .on('end', function() {
            resolve(dataArray);
        });
    });
});

return Promise.all(promises)
    .then((results) => {

        const csvStream = csv.format({headers: true});
        const writableStream = fs.createWriteStream(outputFilePath);

        writableStream.on('finish', function() {
        console.log('DONE!');
        });

        csvStream.pipe(writableStream);
        results.forEach((result) => {
        result.forEach((data) => {
            csvStream.write(data);
        });
        });
        csvStream.end();

    });
    }

concatCSVAndOutput(['1.csv', '2.csv'], 'outputfile.csv');

相关问题