码迷,mamicode.com
首页 > 其他好文 > 详细

POI导出excel执行自动求和

时间:2020-05-20 14:25:44      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:输出   erb   toc   获取   设置   div   ott   row   求和   

1、核心代码

/*设置单元格样式*/
XSSFCellStyle cellStyle = workbook.createCellStyle();// 单元格样式
cellStyle.setWrapText(true);// 自动换行
cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中
cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
Font font = workbook.createFont();
font.setFontName("仿宋_GB2312");
font.setFontHeightInPoints((short) 9);
cellStyle.setFont(font);

int totalCell = sheet.getRow(3).getLastCellNum();// 获取第四行列的数量
Cell cell;// 单元格
String colString;//长度转成ABC后的列
String sumString;//求和公式
for (int i = 2; i < totalCell; i++) {// 我从第二列开始每列都执行求和操作 因此i=2
    cell = row.createCell(i);// 创建单元格
    cell.setCellStyle(cellStyle);// 设置单元格样式
    colString = CellReference.convertNumToColString(i);  //长度转成ABC列
    //求和公式 求i9至i12单元格的总和
    sumString = "SUM(" + colString + "9:" + colString + 12 + ")";
    cell.setCellFormula(sumString);// 把公式塞入合计列
}

2、前面的代码不起作用的话,建议在下面这行代码:workbook.write(out);// 输出Excel内容,生成Excel文件 之前,添加这个语句:workbook.setForceFormulaRecalculation(true);// 执行公式。

如:

workbook.setForceFormulaRecalculation(true);// 执行公式
workbook.write(out);// 输出Excel内容,生成Excel文件

POI导出excel执行自动求和

标签:输出   erb   toc   获取   设置   div   ott   row   求和   

原文地址:https://www.cnblogs.com/ywy8/p/12923173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!