JXLS2实现创建组折叠
通过JXLS2实现如下折叠的表格的导出。
如一个Lead下面管理了多个人员,将下属人员折叠起来,点击后展开下属的人员列表。
在官方自带的文档中自带了实现分组折叠的DEMO,我们在这基础上稍作改动即可实现以上的分组折叠效果。
Maven引入JXLS
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-poi</artifactId>
<version>1.2.0</version>
</dependency>
分组折叠命令代码
以下代码来自于官方jxls-examples的demo模块下,创建了一个新的jxls命令:groupRow。
import org.jxls.area.Area;
import org.jxls.command.AbstractCommand;
import org.jxls.command.Command;
import org.jxls.common.CellRef;
import org.jxls.common.Context;
import org.jxls.common.Size;
import org.jxls.transform.poi.PoiTransformer;
import org.jxls.util.Util;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class GroupRowCommand extends AbstractCommand {
Area area;
String collapseIf;
public String getName() {
return "groupRow";
}
public Size applyAt(CellRef cellRef, Context context) {
Size resultSize = area.applyAt(cellRef, context);
if( resultSize.equals(Size.ZERO_SIZE)) return resultSize;
PoiTransformer transformer = (PoiTransformer