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;
        }
    

      

  • 相关阅读:
    微信小程序tab(swiper)切换
    微信小程序如何动态增删class类名
    Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
    js 阻止事件冒泡和默认行为 preventDefault、stopPropagation、return false
    H5中的touch事件
    CSS3 Gradient 渐变
    CSS3动画属性Transform解读
    你所不知的 CSS ::before 和 ::after 伪元素用法
    javascript移动设备Web开发中对touch事件的封装实例
    那些过目不忘的H5页面
  • 原文地址:https://www.cnblogs.com/bao-bei/p/13517421.html
Copyright © 2011-2022 走看看