Existe alguma maneira de eu mesmo setar a cor que eu quero? Porque eu preciso gerar um relatório que é bem flexível, inclusive as cores das células da tabela que são gravadas no banco de dados pelo usuário.
Obrigado.
Existe alguma maneira de eu mesmo setar a cor que eu quero? Porque eu preciso gerar um relatório que é bem flexível, inclusive as cores das células da tabela que são gravadas no banco de dados pelo usuário.
Obrigado.
olha esse trecho de código
(...)
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setItalic(true);
HSSFCellStyle style = wb.createCellStyle();
style.setFont(font);
cell.setCellStyle(style);
(...)
aqui eu deixo minha célula com a formatacao negrito + itálico.
espero que te ajude.
Obrigado pela resposta mas o que eu quero saber é se tem alguma forma de definir a cor da célula dinâmicamente sem ser pela forma que esta POI sugere como RED, BLUE, YELLOW e etc. Algo com por exemplo usando setado em RGB.
O trecho seria este:
styleCell.setFillForegroundColor(???);
styleCell.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
Obrigado.
olha, eu nunca tentei fazer isso, ma vc poderia estender a classe HSSFColor e sobrescrever o getHexString() retornando o RGB que voce quer… como por exemplo “0:3333:0” para verde escuro…
nao sei se funciona, mas talvez a idéia pra fazer o que voce esta querendo seja essa…
Pode me dar uma idéia de como eu faria isso?
Obrigado!
tenta algo parecido com isso…
//nunca vi uma classe com tanta maiúscula junto no nome :D
public class RGBHSSFColor extends HSSFColor{
private String rgb;
public RGBHSSFColor(String rgb){
this.rgb = rgb;
}
public String getHexString(){
return rgb;
}
}
nao sei se vai funcionar porque além desse metodo getHexString tem outros métodos nessa classe, mas pelo que vi, esse retorna algo parecido com RGB, só nao sei se só isso basta.
testa e depois comenta no que deu…
Eu até tentei algo parecido mas o método que devo informar a cor recebe algo do tipo short.
public void setFillBackgroundColor(short arg);
A maioria dos métodos desta POI só recebe short.
Obrigado.