基于Hutool工具来设置Excel一个单元格自定义背景颜色

设置未生效

一开始,cell设置背景颜色不起作用,代码为:
cellStyle.setFillBackgroundColor(IndexedColors.BRIGHT_GREEN1.getIndex());

代码改为这样子就生效了:

>>>两个一起使用
// 填充前景色
cellStyle.setFillForegroundColor(IndexedColors.BRIGHT_GREEN1.getIndex());
// 填充模式
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

随后会发现单元格边框消失了

(干脆抽出成一个方法吧)

/**
     * 自定义设置单元格样式
     * @param writer 	hutool-Excel写入器
     * @param x 		x_坐标
     * @param y 		y_坐标
     * @param isTrue 	true ->设置为绿色;  false ->设置为红色;
     */
    private void setCellStyle(ExcelWriter writer, int x, int y, Boolean isTrue) {
        CellStyle cellStyle = writer.createCellStyle(x, y);
        // 顶边栏
        cellStyle.setBorderTop(BorderStyle.THIN);
        cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex());
        // 右边栏
        cellStyle.setBorderRight(BorderStyle.THIN);
        cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex());
        // 底边栏
        cellStyle.setBorderBottom(BorderStyle.THIN);
        cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex());
        // 左边栏
        cellStyle.setBorderLeft(BorderStyle.THIN);
        cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex());
        // 填充前景色(两个一起使用)
        cellStyle.setFillForegroundColor(isTrue ? IndexedColors.BRIGHT_GREEN1.getIndex() : IndexedColors.PINK1.getIndex());
        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    }

你可能感兴趣的:(Hutool,Excel,java)