Błąd obliczania wzoru Jexcel
Stworzyłem arkusz,out.xls który miał komórkę D6 = D5 * 2 i D5 ustawioną na 1. Moim problemem jest to, że po podłączeniu wartości do D5 w jxl, D6 nigdy nie oblicza. D6 po prostu trzyma wartość obliczoną początkowo, gdy podłączałem 1 do D5 w Excelu.
Uwaga: Mam znacznie większy problem programistyczny, który próbuję rozwiązać, jest to po prostu bardzo pomniejszona wersja, aby zmniejszyć błąd.
To jest mój pierwszy raz, kiedy korzystam z Jexcel i dopiero w zeszłym roku nauczyłem się Javy, więc każda pomoc zostanie doceniona. Wczoraj spędziłem 6 godzin próbując znaleźć odpowiedź w Internecie, ale bezskutecznie.
wyjście jest dołączone poniżej kodu
Kod: (pominięto główny i import)
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();
wydajność:
D5:3
Formula:D5*2.0
D6:2
2.0