poi删除excel行

package com.xzp.utils;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.ss.usermodel.Sheet;

import java.util.Comparator;
import java.util.List;
import java.util.Objects;

public class ExcelUtils {

    /**
     * 删除指定行
     *
     * @param sheet Sheet
     * @param rowNumList 行号列表,excel的rowNum从0开始
     */
    public static void removeRows(Sheet sheet, List<Integer> rowNumList){
        if(Objects.isNull(sheet) || CollectionUtils.isEmpty(rowNumList)){
            return;
        }
        int lastRowNum = sheet.getLastRowNum();
        rowNumList.sort(Comparator.reverseOrder());
        for (Integer rowNum : rowNumList) {
            if(Objects.equals(rowNum,lastRowNum)){
                sheet.removeRow(sheet.getRow(rowNum));
            }else{
                sheet.shiftRows(rowNum + 1, lastRowNum, -1);
            }
        }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容