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