EasyExcel 是阿里巴巴的一个基于Java的简单方便省内存的读写Excel开源项目。
常用方法,见官方文档:https://easyexcel.opensource.alibaba.com/docs/current/
下面介绍,Alibaba EasyExcel:合并列、行 设置,版本 2.2.6+
合并列、行,使用 OnceAbsoluteMergeStrategy 非常方便 。
一、使用 直接 new OnceAbsoluteMergeStrategy 对象:
new OnceAbsoluteMergeStrategy(1,2,0,0) 表示合并 0 列的 1和2两行,
这里的行列,均从 0 开始。
下面是 其 构造函数:
public OnceAbsoluteMergeStrategy(int firstRowIndex, int lastRowIndex, int firstColumnIndex, int lastColumnIndex)
其中前两个参数是限制行,后两个参数是限制列,均包含在内。
二、通过 registerWriteHandler 方法注册进去即可:
1. 使用 总的 ExcelWriterBuilder 对象,或者 每个 Sheet 的 ExcelWriterSheetBuilder 对象,均可注册。
2. 在使用 总的 ExcelWriterBuilder 对象,注册很多的动态 WriteHandler 对象时,链式写法反而不方便,使用List反而操作方便些(当然如果都是些固定的WriteHandler,就无所谓了)
List
三、如果有多地方合并,可以注册N个 OnceAbsoluteMergeStrategy 对象:
excelWriterBuilder.registerWriteHandler(new OnceAbsoluteMergeStrategy(1,2,0,0))
.registerWriteHandler(new OnceAbsoluteMergeStrategy(2,2,3,4))
.registerWriteHandler(new OnceAbsoluteMergeStrategy(5,7,1,3))
.registerWriteHandler(new OnceAbsoluteMergeStrategy(4,4,0,head.size()));