在exceljs中添加行时更改字体颜色

Sru*_*ddy 4 exceljs

根据文档,可以通过这种方式更改特定单元格的字体颜色:

sheet.addRow([
    'alex', 
    {
        text: 'image',
        hyperlink: 'http://something.com' //trying to change color of this cell
    }
])

sheet.getRow(1).getCell(2).font = {color: {argb: "004e47cc"}};
Run Code Online (Sandbox Code Playgroud)

但是,如何在添加行本身时指定样式。(如下所示)。

sheet.addRow([
    'alex', 
    {
        text: 'image', 
        hyperlink: 'http://something.com', 
        font: {color: {argb: '004e47cc'}}
    }
])
Run Code Online (Sandbox Code Playgroud)

我的最终目标是改变颜色并在工作表中的所有超链接下划线(**超链接在随机单元格中)。有更好的解决方案吗?

cod*_*kbd 7

添加行时确实可以更改背景颜色;

let row = workSheet.addRow(rowValues);
            row.fill = {
                type: 'pattern',
                pattern:'solid',
                fgColor:{argb:'#000000'},
                bgColor:{argb:'#FF0000'}
            };
Run Code Online (Sandbox Code Playgroud)

  • 对于颜色,请使用不带 # 的颜色,否则您将得到黑色背景颜色。所以它应该类似于 row1.fill = { type: 'pattern', pattern:'solid', fgColor: { argb:'FFFF0000' } }; (3认同)

Sru*_*ddy 6

这有效:

sheet.eachRow(function(row, rowNumber){
    row.eachCell( function(cell, colNumber){
        if(cell.value && cell.value.hyperlink)
            row.getCell(colNumber).font = {color: {argb: "004e47cc"}};
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 那么创建行时不可能吗? (2认同)