POI:java设置单元格公式,求和
java导出excel,之前写过全量导出,但是有时候报表中需要汇总,或者其他公式的数据。
这里就需要对单元格的格式调整,设置公式
主要代码
//给单元格设置公式formulaCell.setCellFormula("SUM(F2:F4)");//设置格式生效XSSFFormulaEvaluator formulaEvaluator = excel.getCreationHelper().createFormulaEvaluator();formulaEvaluator.evaluateFormulaCell(formulaCell);
这里是我写的案例的代码,我这里写死的对上面的字段求和
一般情况下不会写死,用记录的长度,和字段长度,找到自己要插入的位置,然后写进去。
如果要对每一条记录求和,那就把这里的代码写到循环里,应该不难。
//如果是最后一列添加一个求和计算,将结果放到同一列最后一个。(积分总和)Row row2 = sheet.createRow(datalist.size()+1);//行Cell formulaCell = row2.createCell(fields.length-1);//列//设置公式formulaCell.setCellFormula("SUM(F2:F4)");//目前为止,还不能算出公式的值,我们需要使用POI的XSSFFormulaEvaluator 来计算值 ://这里的转型,主要是对大文件(xss)和普通文件不同(hss)XSSFFormulaEvaluator formulaEvaluator =(XSSFFormulaEvaluator) workbook.getCreationHelper().createFormulaEvaluator();formulaEvaluator.evaluateFormulaCell(formulaCell);