在 Nodejs 中数组到 excel

Array to excel in Nodejs

全部,

我必须如下所示的简单数组,并希望将数据转储到 Nodejs 中的 excel。

var Headers = ['ChangeId', 'ChangeDescription', 'ChangeDate', 'Enhancement/Fix', 'ExcutorTeam'];
var Data = ['INC1234', 'Multiple Cert cleanup', '04/07/2022', 'Enhancement', 'IlevelSupport'];

CSV 格式只是逗号分隔的字符串和换行符。考虑到这一点,我们要创建一个具有以下格式的字符串:

ChangeId,ChangeDescription,ChangeDate,Enhancement/Fix,ExcutorTeam
INC1234,Multiple Cert cleanup,04/07/2022,Enhancement,IlevelSupport

我们可以迭代 Headers.length 大小的数据块:

const numColumns = Headers.length;

let file = `${Headers.join(",")}\n`;
for (let i = 0; i < Data.length; i += numColumns) {
  file += `${Data.slice(i, i + numColumns).join(",")}\n`;
}

fs.writeFileSync("file.csv", file);

希望这能让您朝着正确的方向开始。

您可以使用 xlsx npm package 并执行类似的操作

这是一个有效的快速示例,事情可以改进,但它至少会给你一个起点

const xlsx = require('xlsx');

let Headers = ['ChangeId', 'ChangeDescription', 'ChangeDate', 'Enhancement/Fix', 'ExcutorTeam'];
let Data = ['INC1234', 'Multiple Cert cleanup', '04/07/2022', 'Enhancement', 'IlevelSupport'];

let workbook = xlsx.utils.book_new();
let worksheet = xlsx.utils.aoa_to_sheet([]);

xlsx.utils.book_append_sheet(workbook, worksheet);

xlsx.utils.sheet_add_aoa(worksheet, [Headers], { origin: 'A1' });
xlsx.utils.sheet_add_aoa(worksheet, [Data], { origin: 'A2' });


xlsx.writeFile(workbook, "Test.xlsx");