Jexcel公式计算错误

我已经创build了一个工作表, out.xls其单元格D6 = D5 * 2和D5设置为1.我的问题是,当我插入一个值到D5 JXL,D6从来没有计算。 D6只是保持它在Excel中插入1到D5时最初计算的值。

注意:我有一个更大的编程问题,我试图解决,这只是一个非常缩小的版本,以减less错误。

这是我第一次使用Jexcel,去年我只学了java,所以任何帮助,将不胜感激。 我昨天花了6个小时试图在网上find答案,但无济于事。

输出附在代码下面
代码:(留下主要和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(); 

输出:

 D5:3 Formula:D5*2.0 D6:2 2.0 

JExcel只允许读取或写入Excel文件,并给出Excel文件内容的Java表示。 它不会替代Excel。

在添加公式时,将在Excel中打开生成的文件时计算此公式,但只能在Excel中计算。 单元格不是由JExcel计算的。

如果有其他人想知道,POI使用FormulaEvaluator类来做这件事。

ATT