[POI] Como configurar campo tipo moeda?

5 respostas
A

Oi pessoal!

Estou usando o POI pra criar minhas planilhas do excel e está tudo indo muito bem!

Estou só com um probleminha… nao consigo deixar um campo formatado como moeda… já tentei isso esse código, e não deu certo:

styleGeral.setDataFormat(HSSFDataFormat.getBuiltinFormat("[$R$-416]#.##0,00;([$R$-416]#.##0,00;)"));

Como eu faço para o meu campo ficar com essa formatação?

5 Respostas

F

Ei alice.
Eu não sei como fazer, mas uma vez eu vi algo parecido, e parece que você tem que fazer algo parecido com seu código ai mesmo.

Olha no site ai:
http://jakarta.apache.org/poi/

Se vc conseguir avisa como foi.

Abraços.

A

Oi pessoal!

Consegui!

Faltou um pedacinho de código anteriormente:

HSSFDataFormat format = workbook.createDataFormat(); styleMoeda.setDataFormat(format.getFormat("[$R$-416] #.##0,00;([$R$-416] #.##0,00)"));

Agora tenho uma outra dúvida… como arrumo o tamanho das minhas colunas??? Pq qdo eu abro o arquivo xls q eu acabei de criar, as colunas estão bem estreitas, daí eu dou um duplo clique e elas ficam num tamanho adequado… tem como setar isso no código???

A

ninguém sabe??? :frowning:

D

Só para o post não ficar incompleto:

Sheet s = wb.createSheet();

                //implementa a criação das linhas e das células e depois ajusta o tamanho

                s.setColumnWidth(0, 0x1000);
                s.setColumnWidth(1, 0x2500);
                s.setColumnWidth(2, 0x1200);
                s.setColumnWidth(3, 0x2500);
                s.setColumnWidth(4, 0x1200);
                s.setColumnWidth(5, 0x1000);
L

Não sei pra vcs, mas pra mim a string de formatação está aparecendo com caracteres estranhos, segue o meu exemplo de formatação em moeda R$ e o set da largura da coluna:

cell = row.createCell(2);

HSSFCellStyle cs = wb.createCellStyle();

HSSFDataFormat df = wb.createDataFormat();

//Valores positivos em black e negativos em red:

String formato = <strong>[BLACK][$R$-416]#,##0.00;[RED]-[$R$-416]#,##0.00</strong>;

cs.setDataFormat(df.getFormat(formato));

//Largura

sheet.setColumnWidth( 2, 5000);
Criado 2 de agosto de 2006
Ultima resposta 25 de abr. de 2016
Respostas 5
Participantes 4