Angular 6 使用 sheetJs 生成 excel 文件但删除了一些键?

Angular 6 generate excel file with sheetJs but removing some keys?

我有这个 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 为 Angular6 生成一个 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 文件,其中只有 "name" 和 "city" 名称 。这可能吗?

您可以在创建 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));