Angular 6用sheetJs生成excel文件,但是要删除一些键吗?

时间:2019-04-03 07:30:52

标签: excel angular angular6 sheetjs

我有这个json:

[{"name":"peter",
"surname":"cage",
"nickname": "peterbob", 
"city":{"id":130, "name":"GreatCity"}
},

{"name":"james",
"surname":"parot",
"nickname": "mrj", 
"city":{"id":142, "name":"OtherCity"}
},
...]

我想使用SheetJs js-xlsx为Angular 6生成一个excel文件,这是我的尝试:

const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(myjson);
const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

这将生成具有所有json对象键的excel文件,并且效果很好!但是我想生成一个只包含“名称”和“城市”名称的Excel文件。 那可能吗?谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以在创建excel文件之前映射数据:

const data = JSON.parse(myjson).map(i => ({ name: i.name, city: i.city }));
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(JSON.stringify(data));