Fehler bei der Berechnung der Jexcel-Formel
Ich habe ein Arbeitsblatt erstellt,out.xls die Zelle D6 = D5 * 2 und D5 auf 1 gesetzt hatte. Mein Problem ist, dass, wenn ich einen Wert in D5 in jxl stecke, D6 nie berechnet. D6 behält einfach den Wert bei, den es ursprünglich berechnet hatte, als ich 1 in D5 in Excel einsteckte.
Hinweis: Ich habe ein viel größeres Programmierproblem, das ich zu lösen versuche. Dies ist nur eine sehr verkleinerte Version, um Fehler zu reduzieren.
Dies ist mein erstes Mal, dass ich Jexcel benutze und ich habe gerade erst im letzten Jahr Java gelernt, daher wäre jede Hilfe dankbar. Ich habe gestern 6 Stunden lang versucht, eine Antwort im Internet zu finden, aber ohne Erfolg.
Die Ausgabe wird unterhalb des Codes angehängt
Code: (Haupt- und Import weggelassen)
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();
Ausgabe:
D5:3
Formula:D5*2.0
D6:2
2.0