package com.ruoyi.common.utils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.streaming.SXSSFWorkbook; public class ExcelUtils { /** * 创建标题样式 * @param wb * @return */ public static CellStyle createTitleCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中 cellStyle.setVerticalAlignment(VerticalAlignment.BOTTOM);//居于底部 //cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // cellStyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());//背景颜色 Font headerFont1 = wb.createFont(); // 创建字体样式 headerFont1.setBold(true); //字体加粗 headerFont1.setFontName("宋体"); // 设置字体类型 headerFont1.setFontHeightInPoints((short) 15); // 设置字体大小 cellStyle.setFont(headerFont1); // 为标题样式设置字体样式 return cellStyle; } /** * 创建表头样式 * @param wb * @return */ public static CellStyle createHeadCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setWrapText(true);// 设置自动换行 // cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景颜色 cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平居中 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //垂直对齐 //cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // cellStyle.setBottomBorderColor(IndexedColors.BLACK.index); cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 Font headerFont = wb.createFont(); // 创建字体样式 // headerFont.setBold(true); //字体加粗 headerFont.setFontName("宋体"); // 设置字体类型 headerFont.setFontHeightInPoints((short) 10); // 设置字体大小 cellStyle.setFont(headerFont); // 为标题样式设置字体样式 return cellStyle; } /** * 创建内容样式 * @param wb * @return */ public static CellStyle createContentCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建内容居右样式 * @param wb * @return */ public static CellStyle createContentRightCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.RIGHT);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建粗体居左内容样式 * @param wb * @return */ public static CellStyle createContentWeightCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.LEFT);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setBold(true); //字体加粗 font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建粗体居右内容样式 * @param wb * @return */ public static CellStyle createContentWeightRightCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.RIGHT);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景颜色 cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setBold(true); //字体加粗 font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建粗体居中带背景颜色内容样式 * @param wb * @return */ public static CellStyle createContentWeightCenterCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//背景颜色 cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setBold(true); //字体加粗 font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建粗体无边框居左内容样式 * @param wb * @return */ public static CellStyle createContentNoBorderCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.LEFT);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建内容样式 * @param wb * @return */ public static CellStyle myCreateContentCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中 cellStyle.setAlignment(HorizontalAlignment.CENTER);// 水平居中 cellStyle.setWrapText(true);// 设置自动换行 cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 cellStyle.setBorderRight(BorderStyle.THIN); //右边框 cellStyle.setBorderTop(BorderStyle.THIN); //上边框 cellStyle.setFillBackgroundColor(IndexedColors.YELLOW.getIndex()); cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());//背景颜色 // 生成12号字体 Font font = wb.createFont(); font.setColor((short)8); font.setFontHeightInPoints((short) 10); cellStyle.setFont(font); return cellStyle; } /** * 创建标题样式 * @param wb * @return */ public static CellStyle myCreateTitleCellStyle(SXSSFWorkbook wb) { CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中 cellStyle.setVerticalAlignment(VerticalAlignment.BOTTOM);//居于底部 cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());//背景颜色 cellStyle.setFillBackgroundColor(IndexedColors.YELLOW.getIndex()); Font headerFont1 = wb.createFont(); // 创建字体样式 headerFont1.setBold(true); //字体加粗 headerFont1.setFontName("宋体"); // 设置字体类型 headerFont1.setFontHeightInPoints((short) 15); // 设置字体大小 cellStyle.setFont(headerFont1); // 为标题样式设置字体样式 return cellStyle; } }