1

我正在使用SheetJS js-xlsx反应库将数据导出到 excel 文件。

我正在尝试导出一个 excel 文件,其中将在必要时为数据提供动态行跨度。一个简单的方法是使用table_to_book()生成 excel 文件的方法,就像它在 HTML 表中一样。

var wb = XLSX.utils.table_to_book(document.getElmentById(#idOfTheTable));

这确实符合我的目的,但是,我想知道是否有任何方法可以为这种数据结构从 JSON 导出 excel 文件:

const purchaseJsnData= [
  {
    "id": "0",
    "PRNumber": "",
    "TotalAmount": 110,
    "CostCenter": "",
    "Details": [{"ItemDescription": "item1", "Quantity": 1},
                {"ItemDescription": "item2", "Quantity": 3}]
  },
  {
    "id": "10",
    "PRNumber": "111",
    "TotalAmount": 520,
    "CostCenter": "",
    "Details": [{"ItemDescription": "i1", "Quantity": 5},
                {"ItemDescription": "i2", "Quantity": 6}]
  }
]

以下行为纯 JSON 数据导出 excel,其中没有子数组值。

 XLSX.utils.sheet_add_json(ws, purchaseJsnData, { skipHeader: false, origin: "A5" });

从直接 HTML 表中导出 excel 允许我仅导出当前页面数据(因为有分页),我想导出整个数据集,这就是为什么要寻找一种从 JSON 格式导出 excel 的方法。

4

0 回答 0