5

虽然我尝试通过将标题数组传递给下面的选项来更改标题标题,但它不会覆盖标题。相反,它首先写入新标题,然后从下一个单元格再次写入带有旧标题的原始数据。我传递了相同数量的标题标题。

这是我的代码

const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json, {header: headerColumns});
    const wb: XLSX.WorkBook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(wb, ws, 'Transactions');
    const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
    this.saveAsExcelFile(excelBuffer, excelFileName);

输出如下所示。

在此处输入图像描述

4

1 回答 1

5

“标题”选项的基本工作不是覆盖,而只是改变列的起始选项。即在标题选项中传递的任何值都将被视为第一列,前提是该值应与您在数据中拥有的现有键匹配。

XLSX.utils.json_to_sheet([{A:1,B:2},{B:2,C:3}], {header:['C']})

这里的“C”列将是 excel 中的第一列。有关更多信息,请在此处查看详细说明:https ://docs.sheetjs.com/#sheetjs-js-xlsx

于 2019-09-17T09:12:30.873 回答