为了账号安全,请及时绑定邮箱和手机立即绑定

使用 XLSX NPM 包不显示数组中的值

使用 XLSX NPM 包不显示数组中的值

慕婉清6462132 2023-10-14 09:56:00
我有一个这样的对象:{  property1: [    {       date: Date,      values: {        prop1: xyz,        prop2: xyz,        prop3: xyz     }   } ], property2: {   id: 245232,   description: "My awesome description" }}在我的 Excel 服务中,导入 XLSX 包后,我有以下代码。public exportAsExcelFile(json: any[], excelFileName: string): void {    const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);    const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };    const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });    this.saveAsExcelFile(excelBuffer, excelFileName);}当我调用 excel 服务时,我将传入我的数组Ojbect.property1(这是其他对象的数组)。Excel 文件的输出只是 property1 数组内每个对象的日期字段。虽然我希望日期字段为第 1 列,values.prop1 为第 2 列,values.prop2 为第 3 列......任何人都可以阐明为什么其他列没有从值对象填充吗?
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

是的,根据文档的这一部分,似乎您需要展平对象才能使其工作。看看它的例子:

var ws = XLSX.utils.json_to_sheet([
  { S:1, h:2, e:3, e_1:4, t:5, J:6, S_1:7 },
  { S:2, h:3, e:4, e_1:5, t:6, J:7, S_1:8 }
], {header:["S","h","e","e_1","t","J","S_1"]});

请记住,列的顺序是基于 的Object.keys()

希望这可以帮助。:手指交叉:


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信