POI Excel - Erro de tipo de célula

1 resposta
V

Olá!
Procurei no forum, mas não encontrei nada sobre o erro que esta acontecendo comigo.
Quando eu defino uma célula da planilha como numérica, e coloco um número formatado , ele diz que não pode converter a String para um numero (java.lang.NumberFormatException: You cannot get a numeric value from a String based cell). O código que estou usando é esse:

NumberFormat nf =NumberFormat.getInstance();
nf.setMaximumFractionDigits(1);

celulaNumerica = linha.createCell((short)(linha.getLastCellNum()+1));

celulaNumerica.setCellStyle(detailStyleCenter);

celulaNumerica.setCellValue(nf.format(detail.getValor()[n]));

celulaNumerica.setCellType(HSSFCell.CELL_TYPE_NUMERIC);

Se eu simplismente deixo sem especificar o tipo de valor que vai na célula, a célula fica como String.
Também ja tentei mudar a posição da onde eu defino o tipo da célula, mas sem sucesso.

Espero que alguém possa ajudar!
Grato!

Marco Prestes

1 Resposta

M

[color=darkblue]O seu erro é o seguinte, você está tentando criar uma célula numérica com um valor String, como você já disse:

O poi ele não aceita, assim antes de você criar uma célula:

celulaNumerica.setCellValue(nf.format(detail.getValor()[n]));

Você tem que definir que tipo de célula ela é :

setCellValue(boolean value)

set a boolean value for the cell

setCellValue(java.util.Calendar value)

set a date value for the cell.

setCellValue(java.util.Date value)

set a date value for the cell.

setCellValue(double value)

set a numeric value for the cell

setCellValue(HSSFRichTextString value)

set a string value for the cell.

Exemplo:

cell.setCellValue((String) "TESTE");

http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFCell.html

Dá uma olhada nesse tópico aqui, um cara postou um exemplo:

POI

[/color]

Criado 13 de julho de 2007
Ultima resposta 13 de jul. de 2007
Respostas 1
Participantes 2