Sofrendo para pegar o resultado de uma formula:

Bom dia a todos.
Bom, desde ontem eu estou tentando, mas não estou encontrando a solução.
É o seguinte:

                       // Crio uma planilha
			HSSFSheet sheet = workbook.createSheet();
			// Crio uma linha na planilha
			HSSFRow row = sheet.createRow(0);
			// Crio a célula 0
			HSSFCell cell = row.createCell((short) 0);
			cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
			cell.setCellFormula("(6+5)");
			// QUERO O RESULTADO DA FORMULA

Então, eu seto a fórmula na célula.
ele não dah nenhum erro, seta normalmente. Mas eu preciso que me retorne o valor. Só que eu não encontrei nenhum método GET ou outro qualquer que me retorna o resultado.

Alguém sabe como resolver?

Abraços.

acho que os metodos abaixo devem fazer isso
getNumericCellValue() - getRichStringCellValue()

e se vc quiser pegar a formula:
getCellFormula() [/b]

[quote]acho que os metodos abaixo devem fazer isso
getNumericCellValue() - getRichStringCellValue()

e se vc quiser pegar a formula:
getCellFormula() [/b][/quote]

Vlws pela ajuda, mas eu já tentei estes métodos e eles não retornam o resultado da fórmula não. :frowning:
e o getCellFormula(). E retorna a fórmula ao invés do resultado.

Abraços.

tentasse da forma q te falei no teu outro topico, usando CellReference?

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=29545&highlight=

Opa…
:slight_smile:

Obrigado pela ajuda de tdos então.
Eu consegui fazer aqui.

              String texto = "(4+5)";
HSSFWorkbook workbook = new HSSFWorkbook();
			// Crio uma planilha
			HSSFSheet sheet = workbook.createSheet("nomePlanilha");
			CellReference cellReference = new CellReference("A1");
			// Crio uma linha na planilha
			HSSFRow row = sheet.createRow(cellReference.getRow());
			// Crio a célula 0
			HSSFCell cell = row.createCell(cellReference.getCol());
			cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
			cell.setCellFormula(texto);
			HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet, workbook);
			//			 suppose your formula is in B3
			try{

			evaluator.setCurrentRow(row);
			HSSFFormulaEvaluator.CellValue cellValue = evaluator.evaluate(cell);
			System.out.println(cellValue.getNumberValue());

Se alguém quiser saber como foi… Taí…

Abraços.