1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package com.kcim.common.util.excel;
- import cn.afterturn.easypoi.excel.export.styler.ExcelExportStylerDefaultImpl;
- import org.apache.poi.ss.usermodel.*;
- /**
- * @program: performace
- * @description: excel 自定义样式
- * @author: Wang.YS
- * @create: 2023-02-16 11:37
- **/
- public class ExcelStyleUtil extends ExcelExportStylerDefaultImpl {
- public ExcelStyleUtil(Workbook workbook) {
- super(workbook);
- }
- /**
- * 标题样式
- */
- @Override
- public CellStyle getTitleStyle(short color) {
- CellStyle cellStyle = super.getTitleStyle(color);
- cellStyle.setFont(getFont(workbook, 11, true));
- cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
- cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
- cellStyle.setBorderBottom(BorderStyle.THIN);
- cellStyle.setBorderLeft(BorderStyle.THIN);
- cellStyle.setBorderRight(BorderStyle.THIN);
- cellStyle.setBorderTop(BorderStyle.THIN);
- return cellStyle;
- }
- /**
- * 单元格的样式
- */
- @Override
- public CellStyle stringSeptailStyle(Workbook workbook, boolean isWarp) {
- CellStyle cellStyle = super.stringSeptailStyle(workbook, isWarp);
- cellStyle.setFont(getFont(workbook, 10, false));
- cellStyle.setBorderBottom(BorderStyle.THIN);
- cellStyle.setBorderLeft(BorderStyle.THIN);
- cellStyle.setBorderRight(BorderStyle.THIN);
- cellStyle.setBorderTop(BorderStyle.THIN);
- return cellStyle;
- }
- /**
- * 列表头样式
- */
- @Override
- public CellStyle getHeaderStyle(short color) {
- CellStyle cellStyle = super.getHeaderStyle(color);
- cellStyle.setFont(getFont(workbook, 9, false));
- cellStyle.setAlignment(HorizontalAlignment.LEFT);
- cellStyle.setWrapText(true);
- cellStyle.setBorderBottom(BorderStyle.THIN);
- cellStyle.setBorderLeft(BorderStyle.THIN);
- cellStyle.setBorderRight(BorderStyle.THIN);
- cellStyle.setBorderTop(BorderStyle.THIN);
- return cellStyle;
- }
- /**
- * 单元格的样式
- */
- @Override
- public CellStyle stringNoneStyle(Workbook workbook, boolean isWarp) {
- CellStyle cellStyle = super.stringNoneStyle(workbook, isWarp);
- cellStyle.setFont(getFont(workbook, 10, false));
- cellStyle.setBorderBottom(BorderStyle.THIN);
- cellStyle.setBorderLeft(BorderStyle.THIN);
- cellStyle.setBorderRight(BorderStyle.THIN);
- cellStyle.setBorderTop(BorderStyle.THIN);
- return cellStyle;
- }
- /**
- * 字体样式
- *
- * @param size 字体大小
- * @param isBold 是否加粗
- * @return
- */
- private Font getFont(Workbook workbook, int size, boolean isBold) {
- Font font = workbook.createFont();
- //字体样式
- font.setFontName("宋体");
- //是否加粗
- font.setBold(isBold);
- //字体大小
- font.setFontHeightInPoints((short) size);
- return font;
- }
- }
|