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

我有一个这样的对象:


{

  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 列......


任何人都可以阐明为什么其他列没有从值对象填充吗?


慕婉清6462132
浏览 112回答 1
1回答

HUH函数

是的,根据文档的这一部分,似乎您需要展平对象才能使其工作。看看它的例子: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()。希望这可以帮助。:手指交叉:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript