解决 exceljs 设置单元格背景色,多个单元格背景色也跟着变了

原创
前端路迹
2023-3-16 11:36
编辑于 2023-3-16 11:40

使用 exceljs 给导入的excel 模板文件设置填充值,然后导出excel文件给用户。

其实需要设置一些单元格的背景色。一般的方案是

// 设置单元格背景色
worksheet.getCell('A1').fill = {
  type: 'pattern',
  pattern: 'solid',
  fgColor: { argb: 'FFFF0000' }
};

但是设置后,导出的文件发现多个单元格的背景色都变化了。

最终的解决方案是设置单元格的样式。而不是只设置单元格的背景色。

const cell = worksheet.getCell('A1');
cell.style = {
        font: {
                size: 11,
                color: {
                        indexed: 8,
                },
                name: "等线",
                charset: 134,
                scheme: "minor",
        },
        border: {
                left: {
                        style: "thin",
                },
                right: {
                        style: "thin",
                },
                top: {
                        style: "thin",
                },
                bottom: {
                        style: "thin",
                },
        },
        fill: {
                type: "pattern",
                pattern: "solid",
                fgColor: {
                        argb: "FFFFFF00",
                },
                bgColor: {
                        indexed: 64,
                },
        },
        alignment: {
                horizontal: "center",
                vertical: "middle",
        },
};
转载请注明出处。本文地址: https://www.qinshenxue.com/article/exceljs-sets-cell-background-color,-but-multiple-cell-background-colors-change-accordingly.html
关注我的公众号