ilv*_*sgm 0 arrays node.js exceljs
我想用ExcelJS创建包含2个数据数组的Excel文件。
我可以创建Excel文件:
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var sheet = workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});
Run Code Online (Sandbox Code Playgroud)
我可以添加列标题:
sheet.columns = [{key:"date", header:"Date"}, {key: "quantity", header: "Quantity"}]
Run Code Online (Sandbox Code Playgroud)
这些列有2个数组:
array_date = [2018-01-04, 2018-01-06, 2018-01-08, 2018-01-09]
array_quantity = [25, 32, 54, 48]
Run Code Online (Sandbox Code Playgroud)
我想将这2个数组合并为一个数组,如下所示:
var merged = [{date:"2018-01-04", quantity:25}
, {date:"2018-01-06", quantity:32}
, {date:"2018-01-08", quantity:42}
, {date:"2018-01-09", quantity:48}];
Run Code Online (Sandbox Code Playgroud)
如果可以合并,则可以为每个数据添加为行:
for(i in merged){
sheet.addRow(merged[i]);
}
Run Code Online (Sandbox Code Playgroud)
然后,我可以创建Excel文件:
workbook.xlsx.writeFile("some.xlsx").then(function() {
console.log("xls file is written.");
});
Run Code Online (Sandbox Code Playgroud)
如果订购了两个阵列,如何将它们组合在一起?另外,我想知道这是在NodeJS中创建excel文件的最佳方法吗?
您可以使用创建新数组
var array_date = ["2018-01-04", "2018-01-06", "2018-01-08", "2018-01-09"];
var array_quantity = [25, 32, 54, 48];
var merged = array_date.map((date, i) => ({
date,
quantity: array_quantity[i],
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |