我正在使用Apache POi HSSF库将信息导入我的应用程序.问题是文件有一些额外/空行需要在解析之前先删除.
没有HSSFSheet.removeRow( int rowNum )方法.只有removeRow( HSSFRow row ).这个问题是无法删除空行.例如:
sheet.removeRow( sheet.getRow(rowNum) );
Run Code Online (Sandbox Code Playgroud)
在空行上给出NullPointerException,因为getRow()返回null.另外,正如我在论坛上看到的那样,removeRow()只删除单元格内容,但行仍然是空行.
有没有一种方法可以删除行(空或不)而不创建一个没有我要删除的行的全新工作表?
我想永久删除那些没有任何类型数据的空行!我这样做:
private void shift(File f){
File F=f;
HSSFWorkbook wb = null;
HSSFSheet sheet=null;
try{
FileInputStream is=new FileInputStream(F);
wb= new HSSFWorkbook(is);
sheet = wb.getSheetAt(0);
int rowIndex = 0;
int lastRowNum = sheet.getLastRowNum();
if (rowIndex >= 0 && rowIndex < lastRowNum) {
sheet.shiftRows(rowIndex, lastRowNum, 500);
}
FileOutputStream fileOut = new FileOutputStream("C:/juni.xls");
wb.write(fileOut);
fileOut.close();
}
catch(Exception e){
System.out.print("SERRO "+e);
}
}
Run Code Online (Sandbox Code Playgroud)
在shiftRows()之后我写了我的新文件.但我的代码现在已经生效了.我只需要删除/删除我的数据中的空行(任何一个).这样做有可能吗?如果是的话,我做得对吗?如果没有人可以帮助我这样做吗?提前致谢!
我有一个 3000 行的 excel 文件。我删除了 2000(使用 ms excel 应用程序),但是当我从代码中调用 sheet.getLastRowNum() 时,它给了我 3000(而不是 1000)。如何删除空白行?
我从这里尝试了代码,但它不起作用......