您的位置:首页 > 编程语言 > Java开发

Java POI如何删除空行

2014-11-18 15:20 211 查看
最近在做一个编辑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);

}

}

代码很简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: