/** * 功能描述: 設置單元格樣式 * @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; }