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());