1

I've been trying to export a data from Tree Family structure which contains JSON data and a lot of arrays.

The export functionality works just fine but it is not exporting the whole thing.

This is code that I used for exporting functionality using npm-xlsx.

//excel button click functionality
  exportExcel() {
    import('xlsx').then((xlsx) => {
      const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(this.dataSource.data);
      const wb: XLSX.WorkBook = { Sheets: { data: ws }, SheetNames: ['data'] };
      const excelBuffer: any = XLSX.write(wb, {
        bookType: 'xlsx',
        type: 'array',
      });
      this.saveAsExcelFile(excelBuffer, 'treeData');
    });
  }

  saveAsExcelFile(buffer: any, fileName: string): void {
    let EXCEL_TYPE =
      'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
    let EXCEL_EXTENSION = '.xlsx';
    const data: Blob = new Blob([buffer], {
      type: EXCEL_TYPE,
    });
    saveAs(
      data,
      fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION
    );
  }

And this is the JSON data from the Tree Family structure. (this.dataSource.data)

[
  {
    "name": "Folder 1",
    "id": 1,
    "numbering": "1.0",
    "children": [
      {
        "name": "Folder 1.1",
        "id": 2,
        "numbering": "1.1",
        "children": [
          {
            "name": "Folder 1.1.1",
            "id": 3,
            "numbering": "1.1.1",
            "children": []
          },
          {
            "name": "File 1.1.2",
            "id": 33,
            "numbering": "1.1.2",
            "children": [
              {
                "name": "Folder 1.1.2.1",
                "id": 4,
                "numbering": "1.1.2.1"
              },
              {
                "name": "Folder 1.1.2.2",
                "id": 5,
                "numbering": "1.1.2.2"
              },
              {
                "name": "Folder 1.1.2.3",
                "id": 6,
                "numbering": "1.1.2.3",
                "children": [
                  {
                    "name": "Folder 1.1.2.3.1",
                    "id": 7,
                    "numbering": "1.1.2.3.1"
                  },
                  {
                    "name": "Folder 1.1.2.3.2",
                    "id": 8,
                    "numbering": "1.1.2.3.2"
                  }
                ]
              },
              {
                "name": "Folder 1.1.2.4",
                "id": 9,
                "numbering": "1.1.2.4",
                "children": [
                  {
                    "name": "Folder 1.1.2.4.1",
                    "id": 10,
                    "numbering": "1.1.2.4.1"
                  }
                ]
              }
            ]
          },
          {
            "name": "File 1.1.3",
            "id": 11,
            "numbering": "1.1.3",
            "children": [
              {
                "name": "Folder 1.1.3.1",
                "id": 12,
                "numbering": "1.1.3.1",
                "children": [
                  {
                    "name": "Folder 1.1.3.1.1",
                    "id": 13,
                    "numbering": "1.1.3.1.1"
                  },
                  {
                    "name": "Folder 1.1.3.1.2",
                    "id": 14,
                    "numbering": "1.1.3.1.2"
                  },
                  {
                    "name": "Folder 1.1.3.1.3",
                    "id": 15,
                    "numbering": "1.1.3.1.3"
                  },
                  {
                    "name": "Folder 1.1.3.1.4",
                    "id": 16,
                    "numbering": "1.1.3.1.4",
                    "children": [
                      {
                        "name": "Folder 1.1.3.1.5",
                        "id": 17,
                        "numbering": "1.1.3.1.5"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
]

The result of exporting came out like this: enter image description here

It did not export the whole thing. It stops at the first children data in JSON. Maybe because it contains arrays of data?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.