17

我需要使用 sheetjs 创建一个包含合并单元格的 xlsx。

数据

[
  {
    "id": "nick",
    "items": [
      {
        "name": "ball"
      },
      {
        "name": "phone"
      }
    ]
  },
  {
    "id": "jack",
    "items": [
      {
        "name": "pen"
      },
      {
        "name": "doll"
      }
    ]
  }
]

我的代码:

var ws = XLSX.utils.json_to_sheet(data);
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "");
var wbout = XLSX.write(wb, {bookType:'xlsx', type:'array'});
saveAs(new Blob([wbout],{type:"application/octet-stream"}), filename + ".xlsx");

我想得到的结果:

结果

我如何得到这个结果?

... 谢谢

4

1 回答 1

29
const merge = [
  { s: { r: 1, c: 0 }, e: { r: 2, c: 0 } },{ s: { r: 3, c: 0 }, e: { r: 4, c: 0 } },
];
ws["!merges"] = merge;

使用此代码合并 A2:​​A3 ( { s: { r: 1, c: 0 }, e: { r: 2, c: 0 } }) 和 A4:A5 ( { s: { r: 3, c: 0 }, e: { r: 4, c: 0 } })

这里 s = start, r = row, c=col, e= end

于 2019-02-14T11:23:35.600 回答