欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

poi笔记 设置单元格样式,求和,合并。

程序员文章站 2022-07-13 14:26:07
...

设置单元格样式


CellStyle cellStyle = workbook.createCellStyle();
//设置 水平居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//垂直居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);

//设置单元格边框
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);


//设置自动换行,不要设置行高
cellStyle.setWrapText(true);
//不设置行高,自适应高度
//row.setHeight((short) 400);


HSSFRow row = sheet.createRow(rowNum);
//设置行高
row.setZeroHeight(false);
row.setHeight((short) 500);




// 设置列宽
 sheet.setColumnWidth(0, 25 * 256);


//合并单元格
// 第一个参数 开始行
// 第二个参数 结束行
// 第三个参数 开始列
// 第四个参数 结束列
// 当前 表示合并 第0行和第1行 的第0列
CellRangeAddress region = new CellRangeAddress(0, 1, 0, 0);
sheet.addMergedRegion(region);


//求和
            //获取最后一行
            int lastRowNum = sheet.getLastRowNum();
            //创建最后一行
            HSSFRow row = sheet.createRow(lastRowNum + 1);
            HSSFCell cell = row.createCell(0);
            cell1.setCellType(CellType.STRING);
            cell1.setCellStyle(cellStyle);
            cell1.setCellValue("合计");

//只求和 第1列
            cell = totalRow.createCell(1);
            cell.setCellType(CellType.NUMERIC);
            cell.setCellStyle(cellStyle);
            String colTag = CellReference.convertNumToColString(1);
            //评价 sum函数 , 下面的2 标识 从第二行开始,(lastRowNum+1) 表示 最后一行
            String formula = "SUM(" + colTag + "2:" + colTag + (lastRowNum + 1) + ")";
            cell.setCellFormula(formula);

//
//求和多列 从第一列 开始 一直到 26列 每一列都
for (int i = 1; i <= 26; i++) {
    cell = totalRow.createCell(i);
    cell.setCellType(CellType.NUMERIC);
    cell.setCellStyle(cellStyle);
    String colTag = CellReference.convertNumToColString(i);
    String formula = "SUM(" + colTag + "2:" + colTag + (lastRowNum+1) + ")";
    cell.setCellFormula(formula);
}




 

相关标签: java java poi