EasyExcel自定义处理器扩展指定行修改样式包括字体颜色

EasyExcel自定义处理器扩展指定行修改样式包括字体颜色

实现

java 复制代码
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.handler.RowWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFColor;

import java.util.List;

public class CustomRowWriteHandler implements RowWriteHandler {

    private List<Integer> rowIndexToChange;

    public CustomRowWriteHandler(List<Integer> rowIndexToChange) {
        this.rowIndexToChange = rowIndexToChange;
    }

    @Override
    public void afterRowCreate(WriteSheetHolder writeSheetHolder, Row row, Integer relativeRowIndex, Boolean isHead) {
			//获取信息
			Sheet sheet = writeSheetHolder.getSheet();
            Workbook workbook = sheet.getWorkbook();
            
            //字体颜色
            Font font = workbook.createFont();
            font.setColor(IndexedColors.BLUE.getIndex());
            
            //设置样式
             CellStyle cellStyle = workbook.createCellStyle();
               cellStyle.setFont(font);
            
              for(Integer rowIndex : rowIndexToChange){
              //过滤表头
              Row fontRow = sheet.getRow(rowIndex + 1);
              if(fontRow != null){
              for (Cell cell : fontRow) {
                 cell.setCellStyle(cellStyle);
					}
				}
              }
        }
    }
}

// 导出时设置自定义写入处理器
public void exportExcel(List<YourDataClass> data, String fileName, int rowIndexToChange) {
    EasyExcel.write(fileName, YourDataClass.class)
            .sheet("Sheet1")
            .registerWriteHandler(new CustomRowWriteHandler(rowIndexToChange))
            .doWrite(data);
}
相关推荐
五步晦暝39 分钟前
【Excel 支持正则的方法】解决VBA引入正则的方法和步骤
数据库·mysql·excel
Hello-Mr.Wang43 分钟前
Vue 3 实现 Excel 表格解析的完整指南
前端·vue·excel
千铭丶7 小时前
Excel合并单元格后,如何自动批量生成序号列
excel
Eiceblue8 小时前
通过Python 在Excel工作表中轻松插入行、列
开发语言·vscode·python·pycharm·excel
五步晦暝12 小时前
【Excel 扩展正则的能力】工作中赋予处理单元格文本的强大正则表达提取能力
开发语言·excel
Hello-Mr.Wang12 小时前
基于 Vue3 与 exceljs 实现自定义导出 Excel 模板
前端·vue.js·excel
Tom Boom12 小时前
21. 自动化测试框架开发之Excel配置文件的测试用例改造
测试开发·selenium·测试工具·测试用例·excel·自动化测试框架开发·po改造
qq_393828221 天前
Excel多合一文件合并工具
学习·excel·软件需求
王小义笔记1 天前
使用注解动态映射:根据实体List列表动态生成Excel文件
java·数据结构·list·excel·poi
未来之窗软件服务2 天前
在 Excel 使用macro 常用函数 使用行数 招标专家系统————仙盟创梦IDE
前端·excel·vbs·excel插件·仙盟创梦ide