EasyExcel 是阿里巴巴的一个基于Java的简单方便省内存的读写Excel开源项目。

常用方法,见官方文档:https://easyexcel.opensource.alibaba.com/docs/current/   

下面介绍,Alibaba EasyExcel:列宽行高 设置,版本 2.2.6+   


一、列宽 使用 AbstractHeadColumnWidthStyleStrategy 执行器:


import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.write.style.column.AbstractHeadColumnWidthStyleStrategy;

public class ColumnWidthStyleStrategy extends AbstractHeadColumnWidthStyleStrategy {

    @Override
    protected Integer columnWidth(Head head, Integer columnIndex) {
        switch (columnIndex) {
            case 0 : return 8; // 第一列 宽度 8
            case 1 : return 25; // 第二列 宽度 25
            case 2 : return 25;
            case 3 : return 25;
            case 4 : return 25;
            case 5 : return 30;
            case 6 : return 25;
        }
        return 20;
    }
}


二、行高 使用 AbstractRowHeightStyleStrategy 执行器:


import com.alibaba.excel.write.style.row.AbstractRowHeightStyleStrategy;
import org.apache.poi.ss.usermodel.Row;

public class RowHeightStyleStrategy extends AbstractRowHeightStyleStrategy {
    
    protected void setHeadColumnHeight(Row row, int relativeRowIndex) {
        // 设置 头 行高
        row.setHeightInPoints((float) 33);
    }

    protected void setContentColumnHeight(Row row, int relativeRowIndex) {
        // 设置 内容 行高
        row.setHeightInPoints((float) 25);
    }
}

三、注册 列宽、行高 执行器:


excelWriterSheetBuilder.registerWriteHandler(new ColumnWidthStyleStrategy());
excelWriterSheetBuilder.registerWriteHandler(new RowHeightStyleStrategy());