1
Olá!
Estou fazendo uma planilha Excel em Java, que tem valores numéricos (double) a serem mostrados. Preciso que o CellType seja Numeric, mas o único jeito que consigo mostrar o valor corretamente configurado, é com o CellType como Geral ou Texto.
O número vem do banco de dados já formatado corretamente (Ex: 412.000). Aí, eu capturo ele como double e este double formata o número com , (412,000)
Eu já tentei: NumberFormat, DecimalFormat, Locale, String.format, etc, e embora o CellType esteja setado como Numeric, quando gera a planilha, o tipo da célula ou é Geral ou Texto.
O que estou fazendo atualmente é:
XSSFCell cell = row.createCell(numeroCelula);
double value = 412.000; //Valor vindo do banco, mas o double troca para 412,000
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(String.format("%.3f", value).replace(",", ".")); // valor em String, trocando , por . pra ficar correto.
Então, como eu consigo colocar o valor no nosso Locale (formatando os milhares com . ao invés de ,) e setar o CellType como Numeric?
Desde já, muito obrigado!