JXLS2实现创建组折叠

本文介绍了如何利用JXLS2库创建具有分组折叠功能的Excel表格。通过Maven引入JXLS2,结合官方DEMO进行改造,定义分组折叠命令代码,并在模板中使用`jx:each`和`jx:groupRow`指令,根据条件判断是否折叠下属人员列表,从而实现导出带有折叠效果的Excel文件。
摘要由CSDN通过智能技术生成

通过JXLS2实现如下折叠的表格的导出。

如一个Lead下面管理了多个人员,将下属人员折叠起来,点击后展开下属的人员列表。
折叠的Excel表格
展开后的表格
在官方自带的文档中自带了实现分组折叠的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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值