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);
}
相关推荐
鱼钓猫的小鱼干1 小时前
table 表格转成 excell 导出
前端·vue·excel
域智盾-运营小韩3 小时前
excel技巧:excel文件怎么加密防止泄密?加密Excel文件的四种方法
excel
是小崔啊10 小时前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
龙虎榜小红牛系统1 天前
使用Excel制作通达信自定义“序列数据“
excel·股票·通达信
Py办公羊大侠1 天前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全
SixCandy1 天前
EXCEL使用宏实现筛选重复项并对该行进行填充内容的操作
办公软件·excel··wps
你走以后1 天前
excel中如何筛选一列中重复的内容,相同的内容只保留一次
excel
热心市民运维小孙2 天前
Ubuntu重命名默认账户
linux·ubuntu·excel
又蓝2 天前
使用 Python 操作 Excel 表格
开发语言·python·excel
m0_748230942 天前
Rust赋能前端: 纯血前端将 Table 导出 Excel
前端·rust·excel