有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在ApachePOI中设置自定义颜色

我试图更改HSSF工作簿的自定义调色板,但它从未更改。自定义调色板始终保持其标准颜色

我正在更改HSSF工作簿的自定义调色板的颜色:

private static void criaCores(HSSFWorkbook pastaDeTrabalho) {
    HSSFPalette paletaDeCores = pastaDeTrabalho.getCustomPalette();

    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.PLATAFORMA.getIndiceCorFundo(), (byte) 19, (byte) 20, (byte) 20);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.MES.getIndiceCorFundo(), (byte) 238, (byte) 238, (byte) 238);

    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.ANO_PAR.getIndiceCorFundo(), (byte) 199, (byte) 150, (byte) 24);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.ANO_IMPAR.getIndiceCorFundo(), (byte) 95, (byte) 95, (byte) 95);

    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_1.getIndiceCorFundo(), (byte) 16, (byte) 64, (byte) 120);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_2.getIndiceCorFundo(), (byte) 39, (byte) 74, (byte) 133);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_3.getIndiceCorFundo(), (byte) 64, (byte) 94, (byte) 147);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_4.getIndiceCorFundo(), (byte) 87, (byte) 114, (byte) 160);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_5.getIndiceCorFundo(), (byte) 112, (byte) 134, (byte) 174);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_6.getIndiceCorFundo(), (byte) 135, (byte) 154, (byte) 187);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_TITULO_7.getIndiceCorFundo(), (byte) 159, (byte) 175, (byte) 201);

    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_1.getIndiceCorFundo(), (byte) 50, (byte) 92, (byte) 162);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_2.getIndiceCorFundo(), (byte) 68, (byte) 106, (byte) 171);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_3.getIndiceCorFundo(), (byte) 88, (byte) 121, (byte) 179);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_4.getIndiceCorFundo(), (byte) 106, (byte) 136, (byte) 186);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_5.getIndiceCorFundo(), (byte) 125, (byte) 150, (byte) 194);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_6.getIndiceCorFundo(), (byte) 143, (byte) 164, (byte) 200);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.LINHA_7.getIndiceCorFundo(), (byte) 161, (byte) 178, (byte) 206);

    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.INICIO.getIndiceCorFundo(), (byte) 57, (byte) 178, (byte) 63);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.PREVISTO.getIndiceCorFundo(), (byte) 215, (byte) 205, (byte) 42);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.FIM.getIndiceCorFundo(), (byte) 130, (byte) 29, (byte) 37);
    paletaDeCores.setColorAtIndex(EstiloCelulaExcel.ANDAMENTO.getIndiceCorFundo(), (byte) 95, (byte) 95, (byte) 95);

    paletaDeCores.setColorAtIndex((short) 98, (byte) 255, (byte) 255, (byte) 255);
    paletaDeCores.setColorAtIndex((short) 99, (byte) 0, (byte) 0, (byte) 0);
}

我正在设置一个单元格样式:

public static HSSFCellStyle getEstilo(EstiloCelulaExcel estiloCelulaExcel, HSSFCellStyle estiloCelula, HSSFFont fonte) {

        estiloCelula.setFillForegroundColor(estiloCelulaExcel.getIndiceCorFundo());
        estiloCelula.setFillPattern(CellStyle.SOLID_FOREGROUND);
        fonte.setColor(estiloCelulaExcel.getIndiceCorFonte());

        estiloCelula.setFont(fonte);

        return estiloCelula;
}

正如文档中所说,我只在开头HSSFCellStyle estiloCelula = pastaDeTrabalho.createCellStyle();创建一个cellStyle,并将其作为参数传递给getEstilo()此方法设置样式并返回它

有人能帮我找出问题所在吗

谢谢


共 (0) 个答案