alibaba/easyexcel

CellWriteHandler重写并使用后 仍显示0 usages,并无响应

Open

#3.454 aberto em 6 de set. de 2023

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Java (7.599 forks)batch import
help wanted

Métricas do repositório

Stars
 (33.728 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

package com.ste.qr.stats.export;

import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.AbstractCellWriteHandler;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import org.apache.poi.ss.usermodel.*;

import java.text.NumberFormat;
import java.text.ParseException;
import java.util.List;

//设置表头、内容的行高
public class CustomCellWriteHandler implements CellWriteHandler {
    private static NumberFormat nf = NumberFormat.getPercentInstance();

    @Override
    public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer columnIndex, Integer relativeRowIndex, Boolean isHead) {
        row.setHeight((short) 288);
    }

    @Override
    public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
        int cellIndex = cell.getColumnIndex();
        int columnWidth = 25;
//        WriteFont writeFont = new WriteFont();
        Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
        CellStyle cellStyle = CellStyleUtil.cellStyle(workbook);
        writeSheetHolder.getSheet().setColumnWidth(cellIndex, columnWidth * 150);
//        标题颜色
        if (cell.getRowIndex() == 3) {
            cellStyle.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE.getIndex());
        }
        if (cell.getRowIndex() > 1 && cell.getRowIndex() < 4 && cell.getColumnIndex() > 23 && cell.getColumnIndex() < 26) {
            cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
        }
        if (cell.getRowIndex() > 0 && cell.getRowIndex() < 4 && cell.getColumnIndex() > 25 && cell.getColumnIndex() < 33) {
            cellStyle.setFillForegroundColor(IndexedColors.ROSE.getIndex());
        }
////        负数字体颜色
//        if (cell.getRowIndex() > 3 && cell.getColumnIndex() < 36) {
//            try {
//                if (nf.parse(cell.getStringCellValue()).doubleValue() < 0) {
//                    writeFont.setColor(IndexedColors.RED.getIndex());
//                    cellStyle.setFont(workbook.createFont());
//                    cell.setCellStyle(cellStyle);
//                }
//            } catch (ParseException e) {
//                throw new RuntimeException(e);
//            }
//        }
////        部组名行背景颜色设置
//        if (cell.getColumnIndex() == 1) {
//            if (nf.parse(cell.getStringCellValue().equals())){
//
//            }
//        }

    }
}

问题描述

重写方法后,用registerwritehandler运用,但仍显示 0 usages 没有被运用

Guia do colaborador