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);
}
相关推荐
枫,为落叶2 分钟前
【vue】导出excel
前端·vue.js·excel
星空的资源小屋1 小时前
RoboIntern,一款自动化办公小助手
运维·人工智能·pdf·自动化·电脑·excel
会飞的小菠菜14 小时前
大量Excel工作簿中的图片怎么批量提取出来
excel·导出·图片·提取·批量·保存·另存为
nongcunqq14 小时前
abap 操作 excel
java·数据库·excel
CodeCraft Studio18 小时前
国产化Excel开发组件Spire.XLS教程:将Python列表转换为Excel表格(3种实用场景)
开发语言·python·excel·spire.xls·python列表转excel·国产化文档开发
企鹅侠客18 小时前
基于python写的PDF表格提取到excel文档
python·pdf·excel·pdf文档表格转excel
忘忧记20 小时前
Excel VLOOKUP函数完全教程:从基础到高级实战
excel
葡萄城技术团队20 小时前
突破Excel局限!SpreadJS让电子表格“活”起来
java·数据库·excel
左师佑图1 天前
Apache POI SXSSFWorkbook 报错“没有那个文件或目录”问题排查与解决方案
java·apache·excel
monkeyhlj1 天前
excel-mcp-server rocky linux简单部署
linux·运维·excel