package com.zjm.gwork.utils.myEasyExcel;
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.BorderStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import static org.apache.poi.ss.usermodel.BorderStyle.DASHED;
/**
* @ClassName: MyEasyExcelUtils
* @Description: 自定义针对easyExcel的一些工具类方法
* 1.
* 2.
* @Author: zhongzk 28582157@qq.com
* @Date: 2019/11/24 18:35 *
* @Copyright: 字节码团队www.bjsurong.com. All rights reserved. *
*/
public class MyEasyExcelUtils {
/**
* @Description: 自定义表格的标题和内容的样式
* 用法示例:
* // 注删样式并写入excel
* EasyExcel.write(response.getOutputStream(), BankLoanExportExcel.class).registerWriteHandler(horizontalCellStyleStrategy).sheet("放款情 * 况").doWrite(listExcel);
*
* @Date: 2019/11/24 18:37
* @Param:
* @Param:
* @return:
**/
public static HorizontalCellStyleStrategy setHorizontalCellStyleStrategy(){
/*******自定义列标题和内容的样式******/
// 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteFont headWriteFont = new WriteFont();
headWriteFont.setFontHeightInPoints((short)10);
headWriteCellStyle.setWriteFont(headWriteFont);
// 内容的策略
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
// 这里需要指定 FillPatternType 为FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色.头默认了 FillPatternType所以可以不指定
// contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
// 背景绿色
// contentWriteCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());
WriteFont contentWriteFont = new WriteFont();
// 字体大小
contentWriteFont.setFontHeightInPoints((short)10);
contentWriteCellStyle.setWriteFont(contentWriteFont);
//设置 自动换行
contentWriteCellStyle.setWrapped(true);
//设置 垂直居中
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//设置 水平居中
contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
// //设置边框样式
// contentWriteCellStyle.setBorderLeft(BorderStyle.MEDIUM);
// contentWriteCellStyle.setBottomBorderColor(IndexedColors.BLUE.getIndex()); 颜色
// contentWriteCellStyle.setBorderTop(DASHED);
// contentWriteCellStyle.setBorderRight(DASHED);
// contentWriteCellStyle.setBorderBottom(DASHED);
// 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现
HorizontalCellStyleStrategy horizontalCellStyleStrategy =
new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
return horizontalCellStyleStrategy;
}
}
EasyExcel学习系列笔记(1)--easyexcel 样式设置
最新推荐文章于 2024-03-20 14:35:27 发布