Erro de cálculo da fórmula Jexcel
Eu criei uma planilhaout.xls que tinha célula D6 = D5 * 2 e D5 definido como 1. Meu problema é que quando eu plugar um valor em D5 em jxl, D6 nunca calcula. O D6 simplesmente mantém o valor inicialmente calculado quando eu conectei o 1 ao D5 no Excel.
Nota: Eu tenho um problema de programação muito maior que estou tentando resolver, isso é apenas uma versão muito reduzida para reduzir o erro.
Esta é a primeira vez que uso o Jexcel e só aprendi o java no ano passado, então qualquer ajuda seria apreciada. Eu passei 6 horas ontem tentando encontrar uma resposta na web, mas sem sucesso.
a saída é anexada abaixo do código
Código: (deixou de fora o principal e as importações)
WorkbookSettings custom= new WorkbookSettings();
custom.setRationalization(true);
custom.setRefreshAll(true);
custom.setUseTemporaryFileDuringWrite(true);
Workbook workbook = Workbook.getWorkbook(new File("out.xls"),custom);
WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"), workbook);
WritableSheet sheet2 = copy.getSheet(0);
SheetSettings customsheetsettings=new SheetSettings(sheet2);
customsheetsettings.setAutomaticFormulaCalculation(true);
Number number = new Number(3, 4, 3);
sheet2.addCell(number);
copy.write();
copy.close();
workbook.close();
Workbook workbook2 = Workbook.getWorkbook(new File("output.xls"));
Sheet sheet=workbook2.getSheet(0);
System.out.println("D5:"+sheet.getCell(3,4).getContents());
FormulaCell formula5=(FormulaCell) sheet.getCell(3,5);
System.out.println("Formula:"+formula5.getFormula());
System.out.println("D6:"+formula5.getContents());
NumberFormulaCell nfc=(NumberFormulaCell)sheet.getCell(3, 5);
System.out.println(nfc.getValue());
workbook2.close();
saída:
D5:3
Formula:D5*2.0
D6:2
2.0