package com.ruoyi.common.utils.excel;
|
|
import com.alibaba.excel.metadata.Head;
|
import com.alibaba.excel.metadata.data.WriteCellData;
|
import com.alibaba.excel.write.handler.CellWriteHandler;
|
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
|
import org.apache.poi.ss.usermodel.*;
|
|
import java.util.List;
|
|
public class CustomCellStyleHandler implements CellWriteHandler {
|
|
@Override
|
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) {
|
|
}
|
|
@Override
|
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) {
|
|
}
|
|
|
@Override
|
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
|
int row = cell.getRowIndex();
|
int col = cell.getColumnIndex();
|
|
// 需要排除的单元格
|
if ((row == 2 && col == 0) || (row == 10 && col == 0)) {
|
return;
|
}
|
|
// 为其他单元格设置样式(居中+自动换行)
|
Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
|
CellStyle style = workbook.createCellStyle();
|
style.setAlignment(HorizontalAlignment.CENTER);
|
style.setVerticalAlignment(VerticalAlignment.CENTER);
|
style.setWrapText(true);
|
cell.setCellStyle(style);
|
}
|
}
|