我试图更改HSSFWorkbook的自定义调色板,但它永远不会改变。自定义调色板始终保持其标准颜色。
这里我改变了HSSFWorkbook的自定义调色板的颜色:
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()
,此方法设置样式并将其返回。
任何人都可以帮我找到问题所在?
谢谢,