java - Jexcel公式计算错误

标签 java excel formula jxl jexcelapi

我创建了一个工作表 out.xls,其中的单元格 D6=D5*2 和 D5 设置为 1。我的问题是,当我在 jxl 中将一个值插入 D5 时,D6 永远不会计算.当我在 excel 中将 1 插入 D5 时,D6 只是保留它最初计算的值。

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

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

输出附在代码下方
代码:(省略了 main 和 imports)

        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 计算的。

关于java - Jexcel公式计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872112/

相关文章:

css - Doxygen 自动编号公式

java - Java 编程陷入石头剪刀布的困境

java - 在黑莓中读取图像的 EXIF 数据

C++/MFC - 如何将窗口内容导出到 Excel?

vba - 我的代码似乎停止执行而没有错误

excel - 在一个逗号分隔的单元格中显示所有匹配的值

java - entityManager.flush 不会立即插入数据库,为什么?

java - 将 Java 8 与 Access 连接时出错 : No suitable driver found

没有 Pandas 的Python解码excel表

javascript - O(1) 方法来查找日期范围内的日期,不包括周末