在 XLSX.utils.json_to_sheet 中使用标头选项时,标头不会覆盖

Lea*_*Pal 7 js-xlsx

我试图通过将标题数组传递给选项来更改标题标题,但它不会覆盖标题。相反,它会在原始数据之前插入新的标头。我传递了相同数量的标题。

这是我的代码:

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);
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

在此输入图像描述

小智 8

“标题”选项的基本工作不是覆盖,而是只是移动列的起始选项。

即,在 header 选项中传递的任何值都将被视为第一列,前提是该值应与数据中现有的键匹配。

XLSX.utils.json_to_sheet([{A:1,B:2}, {B:2,C:3}], {header:['C']});
Run Code Online (Sandbox Code Playgroud)

这里“C”列将是 Excel 中的第一列。有关更多信息,请参阅此处的详细描述: https: //docs.sheetjs.com/#sheetjs-js-xlsx

  • 这真是奇怪的行为。 (6认同)