Java POI如何删除空行

本文介绍了一种使用POI库解决Excel文件中批量删除空行的方法,通过自定义遍历和shiftRows方法实现高效操作,特别适用于大型文件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个编辑excel表格的小工具,刚好用到了poi。

HSSFSheet类有两个和删除行有关的方法,第一个是removeRow(Row row),但这个方法只可以把该行清空,并不能完全删除。

怎么办?我处理的excel文件可是几百行,靠自己打开excel重新删除肯定是不靠谱的。

又去网上查了下,看到了 shiftRows(int startRow, int endRow, int n)  这个方法。这个方法可以把startRow至endRow之间的所有行,按照n向上或移动。n如果为正数,则整体区域向下移动,n如果为负数, 则整体区域向上移动,我们如果要删除空行,就可以利用shiftRows方法,从sheet表的最后一行开始向上逆序移动非空行。代码如下:

int i = sheet.getLastRowNum();
HSSFRow tempRow;
while(i > 0){
i--;
tempRow = sheet.getRow(i);
if(tempRow == null){
sheet.shiftRows(i+1, sheet.getLastRowNum(), -1);
}
}

代码很简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值