Java POI如何删除空行
2014-11-18 15:20
211 查看
最近在做一个编辑excel表格的小工具,刚好用到了poi。
HSSFSheet类有两个和删除行有关的方法,第一个是removeRow(Row row),但这个方法只可以把该行清空,并不能完全删除。
怎么办?我处理的excel文件可是几百行,靠自己打开excel重新删除肯定是不靠谱的。
又去网上查了下,看到了
int i = sheet.getLastRowNum();
HSSFRow tempRow;
while(i > 0){
i--;
tempRow = sheet.getRow(i);
if(tempRow == null){
sheet.shiftRows(i+1, sheet.getLastRowNum(), -1);
}
}
代码很简单。
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);
}
}
代码很简单。
相关文章推荐
- 什么是POI?[Apache.org摘录]JAVA的API如何访问微软的文件【Excel,Word等等】
- word 里面如何自动删除空行
- 如何使用Java POI生成Excel表文件 !
- 如何删除Word文档中的空行
- Visual Studio如何删除多余的空行
- 如何使用Java POI生成Excel表文件
- JAVA 如何创建\删除\修改\复制目录及文件
- 如何删除空行 tr grep sed awk
- JAVA 如何创建/删除/修改/复制目录及文件
- 如何在UltraEdit下删除带tab符与空格的空行?
- JAVA 如何创建/删除/修改/复制目录及文件
- JAVA 如何创建/删除/修改/复制目录及文件
- Java中如何从一个字符串中删除指定字符
- 浅谈如何删除JSP编译后的空行
- 如何用JAVA删除一个非空的目录
- JAVA 如何创建/删除/修改/复制目录及文件
- 如何删除空行
- Java中如何删除一个集合中的多个元素
- JAVA 如何创建/删除/修改/复制目录及文件 --【转】
- JAVA 如何创建/删除/修改/复制目录及文件 (转载)