2016-04-15 191 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!