alibaba/easyexcel

自定义行高 无法进入重写方法

Open

#3 843 ouverte le 18 juin 2024

Voir sur GitHub
 (0 commentaires) (0 réactions) (0 assignés)Java (7 599 forks)batch import
help wanted

Métriques du dépôt

Stars
 (33 728 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

public class CustomCellWriteHeightConfig extends AbstractRowHeightStyleStrategy { /** * 默认高度 */ private static final Integer DEFAULT_HEIGHT = 300;

@Override
protected void setHeadColumnHeight(Row row, int relativeRowIndex) {
}

@Override
protected void setContentColumnHeight(Row row, int relativeRowIndex) {
    Iterator<Cell> cellIterator = row.cellIterator();
    if (!cellIterator.hasNext()) {
        return;
    }

    // 默认为 1行高度
    Integer maxHeight = 1;
    while (cellIterator.hasNext()) {
        Cell cell = cellIterator.next();
        switch (cell.getCellTypeEnum()) {
            case STRING:
                if (cell.getStringCellValue().indexOf("\n") != -1) {
                    int length = cell.getStringCellValue().split("\n").length;
                    maxHeight = Math.max(maxHeight, length);
                }
                break;
            default:
                break;
        }
    }

    row.setHeight((short) (maxHeight * DEFAULT_HEIGHT));
}

}EasyExcel.registerWriteHandler(new CustomCellWriteWeightConfig()) .registerWriteHandler(new CustomCellWriteHeightConfig()); 以上代码AbstractRowHeightStyleStrategy 类中进入方法也调用但是没有执行我重写的方法,我设置自定义列宽没有问题。 easyExcel的版本是2.2.7

Guide contributeur