2016-04-15 131 views
1

当我运行下面的代码时,他只是打印第一个公式,但不是第二个公式,我不知道为什么。打印结果XSSFCell.setCellFormula()

for(int r = 13;r<15;r++){ 
     row = sheet.getRow(r); 
     cell = row.createCell(i, XSSFCell.CELL_TYPE_FORMULA); 
     cell.setCellStyle(StyleOfThisCell.getTotalStyle(workbook)); 
     String formule = "SUM(C"+(row.getRowNum()+1)+":"+CellReference.convertNumToColString(row.getCell(i-1).getColumnIndex())+(row.getRowNum()+1)+")"; 
     cell.setCellFormula(formule); 
    } 

请你帮我,让我知道如果我忘记了我的结果。

感谢

我只是看到了问题: 我打开的Excel用的LibreOffice。如果我用Microsoft Excel打开它,我看不到我的总数。但是如果我点击激活修改,我的总计就会出现。我不明白。

+0

你的代码的第三行是'我'? –

+0

该单元格的位置。 在我的情况下,单元格总计在我的天数末尾计算天数 – garywald

+0

我看不到任何代码[在保存之前评估公式](https://poi.apache。 org/spreadsheet/eval.html) - 你忘记了这一步吗? – Gagravarr

回答

1

答案很简单!

已经把将细胞与一级方程式后,我们需要编写一个评估:

FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); 
evaluator.evaluateAll(); 

感谢Gagravarr!