我想使用 POI 从 Excel 工作表中删除空白行。
我们有类似shiftRow()or 的方法,removeRow()但在这种情况下不使用。请帮我完成它。
我一直在尝试删除excel文件中的空行代码!我的代码是:
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);
for(int i = 0; i < sheet.getLastRowNum(); i++){
if(sheet.getRow(i)==null){
sheet.shiftRows(i + 1, sheet.getLastRowNum(), -1);
i--;
}
}
FileOutputStream fileOut = new FileOutputStream("C:/juni1.xls");
wb.write(fileOut);
fileOut.close();
//Here I want to write the new update file without empty rows!
}
catch(Exception e){
System.out.print("SERRO "+e);
}
}
Run Code Online (Sandbox Code Playgroud)
代码完全没有效果.任何人都可以告诉我这是什么问题请帮助我,自从过去10个小时以来我一直在尝试做这件事.提前致谢!
我在使用getLastRowNum()时遇到了一个小难题。我正在尝试从Excel工作表获取数据的行数。假设我有3行,它应该在打印输出语句中返回说明3行。现在我的问题是,无论我填充多少行,它都会向我返回一个固定的数字。以下是代码摘录:
FileInputStream fis = new FileInputStream("C:\\Test Data\\Login.xlsx");
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = wb.getSheet("Login");
System.out.println("No. of rows : " + sheet.getLastRowNum());
Run Code Online (Sandbox Code Playgroud)
我的Excel工作表包含以下内容
从所附图像中,我应该得到4的行数,但是我却得到6。
任何建议深表感谢。先感谢您。