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);
}
相关推荐
帆张芳显19 分钟前
智表zcell产品V3.5 版发布,新增行列选中操作等功能
前端·javascript·excel·插件·canva可画
夜喵YM1 小时前
基于 Spire.XLS.Free for Java 实现无水印 Excel 转 PDF
java·pdf·excel
TheNextByte12 小时前
如何将Android联系人导出为 Excel 格式
android·excel
☀Mark_LY2 小时前
java读取excel文件返回JSON
java·json·excel
Ahtacca2 小时前
拒绝重复造轮子:利用自定义注解封装POI,实现Java通用Excel解析
java·javascript·vue·excel
私人珍藏库2 小时前
[吾爱大神原创工具] Word图片批量导出并插入Excel对应单元格
word·excel
一晌小贪欢1 天前
Python 对象的“Excel 之旅”:使用 openpyxl 高效读写与封装实战
开发语言·python·excel·表格·openpyxl·python办公·读取表格
开开心心_Every1 天前
手机端课程表管理工具:支持课程导入自定义
python·游戏·微信·django·pdf·excel·语音识别
weixin_462446231 天前
Python 实战:Tkinter 实现 ZIP 中 CSV 批量转换为 Excel(支持密码 + 编码自动识别 + 进度条)
python·excel·csv转xlsx
开开心心_Every1 天前
视频无损压缩工具:大幅减小体积并保持画质
游戏·微信·pdf·excel·音视频·语音识别·tornado