package com.finance.common.utils;
|
|
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
import com.alibaba.excel.write.metadata.style.WriteFont;
|
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
|
/**
|
* @author mitao
|
* @date 2024/4/2
|
*/
|
|
public class EasyExcelUtil {
|
public static HorizontalCellStyleStrategy getStyleStrategy() {
|
// 头的策略
|
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
|
// 背景设置为灰色
|
headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE1.getIndex());
|
WriteFont headWriteFont = new WriteFont();
|
headWriteFont.setFontHeightInPoints((short) 12);
|
// 字体样式
|
headWriteFont.setFontName("微软雅黑");
|
headWriteCellStyle.setWriteFont(headWriteFont);
|
//自动换行
|
headWriteCellStyle.setWrapped(false);
|
// 水平对齐方式
|
headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
|
// 垂直对齐方式
|
headWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
|
// 内容的策略
|
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
|
// 这里需要指定 FillPatternType 为FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色.头默认了 FillPatternType所以可以不指定
|
// contentWriteCellStyle.setFillPatternType(FillPatternType.SQUARES);
|
// 背景白色
|
contentWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
|
WriteFont contentWriteFont = new WriteFont();
|
// 字体大小
|
contentWriteFont.setFontHeightInPoints((short) 12);
|
// 字体样式
|
contentWriteFont.setFontName("宋体");
|
contentWriteCellStyle.setWriteFont(contentWriteFont);
|
// 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现
|
return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
|
}
|
|
}
|