zoukankan      html  css  js  c++  java
  • java—poi设置单元格样式

     /**
         * 功能描述: 设置单元格样式
         * @Param: [wb, cellIndex]
         * @Return: org.apache.poi.xssf.usermodel.XSSFCellStyle
         * @Author: shibaobei
         * @Date: 2020/8/14 0014 10:02
         */
        private XSSFCellStyle setBorderStyle(XSSFWorkbook wb,int cellIndex,String backWidth){
            XSSFCellStyle cellStyle = wb.createCellStyle();
            XSSFFont font = null;
            switch (cellIndex){
                case 0:
                    cellStyle.setBorderBottom(BorderStyle.DASHED); //下边框
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.DASHED);//上边框
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    break;
                case 1:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.MEDIUM_DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.MEDIUM_DASHED);//右边框
                    cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//设置前景填充样式
                    cellStyle.setFillForegroundColor(HSSFColor.BLACK.index);//前景填充色
                    break;
                case 2:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    break;
                case 3:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    font = wb.createFont();
                    font.setFontName("宋体");
                    if("20".equals(backWidth)){
                        font.setFontHeightInPoints((short) 14);//设置字体大小
                    }else if("30".equals(backWidth)){
                        font.setFontHeightInPoints((short) 16);//设置字体大小
                    }else if("40".equals(backWidth)){
                        font.setFontHeightInPoints((short) 18);//设置字体大小
                    }else if("50".equals(backWidth)){
                        font.setFontHeightInPoints((short) 20);//设置字体大小
                    }else if("60".equals(backWidth)){
                        font.setFontHeightInPoints((short) 22);//设置字体大小
                    }else{
                        font.setFontHeightInPoints((short) 14);//设置字体大小
                    }
                    cellStyle.setFont(font);//选择需要用到的字体格式
                    cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
                    cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
                    break;
                case 4:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    font = wb.createFont();
                    font.setFontName("宋体");
                    font.setFontHeightInPoints((short) 14);//设置字体大小
                    cellStyle.setFont(font);//选择需要用到的字体格式
                    cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
                    cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
                    cellStyle.setWrapText(true);//设置自动换行
                    break;
                case 5:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    font = wb.createFont();
                    font.setFontName("宋体");
                    if("20".equals(backWidth)){
                        font.setFontHeightInPoints((short) 12);//设置字体大小
                    }else if("30".equals(backWidth)){
                        font.setFontHeightInPoints((short) 14);//设置字体大小
                    }else if("40".equals(backWidth)){
                        font.setFontHeightInPoints((short) 16);//设置字体大小
                    }else if("50".equals(backWidth)){
                        font.setFontHeightInPoints((short) 18);//设置字体大小
                    }else if("60".equals(backWidth)){
                        font.setFontHeightInPoints((short) 20);//设置字体大小
                    }else {
                        font.setFontHeightInPoints((short) 12);//设置字体大小
                    }
                    cellStyle.setFont(font);//选择需要用到的字体格式
                    cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
                    cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
                    break;
                case 6:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    font = wb.createFont();
                    font.setFontName("宋体");
                    if(StringUtils.isBlank(backWidth)  || "20".equals(backWidth)){
                        font.setFontHeightInPoints((short) 14);//设置字体大小
                    }else{
                        font.setFontHeightInPoints((short) 16);//设置字体大小
                    }
                    cellStyle.setFont(font);//选择需要用到的字体格式
                    cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
                    cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
                    cellStyle.setWrapText(true);//设置自动换行
                    cellStyle.setRotation((short)255); //设置文字竖向排列
                    break;
                case 7:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    break;
                case 8:
                    cellStyle.setBorderBottom(BorderStyle.MEDIUM); //下边框
                    cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); //下边框颜色
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
                    cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); //上边框颜色
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//设置前景填充样式
                    cellStyle.setFillForegroundColor(HSSFColor.BLACK.index);//前景填充色
                    break;
                case 9:
                    cellStyle.setBorderBottom(BorderStyle.DASHED); //下边框
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.DASHED);//上边框
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    break;
                default:
                    cellStyle.setBorderBottom(BorderStyle.DASHED); //下边框
                    cellStyle.setBorderLeft(BorderStyle.DASHED);//左边框
                    cellStyle.setBorderTop(BorderStyle.DASHED);//上边框
                    cellStyle.setBorderRight(BorderStyle.DASHED);//右边框
                    break;
    
            }
            return cellStyle;
        }
    

      

  • 相关阅读:
    vue实现通过链接跳转到页面
    vue-cli2-项目的创建
    平均数
    Spring-Spring简介
    vue + element-ui 表单校验封装公用方法
    Python(一)数据结构和算法的20个练习题问答
    Python包中__init__.py作用
    if __name__=="__main__":
    execute immediate
    oracle基础知识过一遍(原创)
  • 原文地址:https://www.cnblogs.com/bao-bei/p/13517421.html
Copyright © 2011-2022 走看看