java导出excel使用poi删除整行

使用POI操作excel。有时候需要删除某些行。但是使用sheet.removeRow只能删除行的内容。现实中删除一行这行就应该彻底删除。但是poi不是这样做,要达到这样的效果就是使用sheet.removeRow删除行内容后,再使用sheet.shiftRows(a,b,c)方法使下面的行上移。

sheet.shiftRows(a,b,c)是将a行到b行上移(-c)下移(+c)。所以就是c参数是控制方向的负数是上移,正数是下移。

demo如下:

	/**
	 * excel删除行
	 * @param sheet   sheet  
	 * @param startRow 起始行
	 * @param endRow   结束行
	 */
	private void deleteRow(Sheet sheet,int startRow,int endRow){
		for(int i = startRow;i<startRow+endRow-1;i++){
			//此方法只能删除行内容
			sheet.removeRow(sheet.getRow(i));;
		}
		int lastRowNum = sheet.getLastRowNum();
		//此方法是将余下的行向上移
		sheet.shiftRows(endRow, lastRowNum, (startRow-endRow));
	}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值