zoukankan      html  css  js  c++  java
  • POI导出excel执行自动求和

    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文件
  • 相关阅读:
    ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
    HTML5网页录音和压缩,边猜边做..(附源码)
    策划编写一个新的Helper类
    正由另一进程使用,因此该进程无法访问此文件。
    第三方组件引用另一个第三方组件的悲剧
    数据库连接池的计数器设计
    让Ajax更简单
    更新Literacy
    多说
    利用C#自带组件强壮程序日志
  • 原文地址:https://www.cnblogs.com/ywy8/p/12923173.html
Copyright © 2011-2022 走看看