我正在使用Apache POI java并希望获得非空的总行数.我用其所有列成功处理了整行.现在我假设我得到一个包含多行而不是一行的excel表...那么如何去做呢?我想要获得总行数(int n)然后循环直到i <= n但不确定.
建议最受欢迎:)
注意:Apache POI版本为3.8.我不处理Xlsx格式...只有xls.
是的我尝试了这个代码,但得到了20个....这是不可能的,因为我只有5行
FileInputStream fileInputStream = new FileInputStream("COD.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
HSSFSheet worksheet = workbook.getSheet("COD");
HSSFRow row1 = worksheet.getRow(3);
Iterator rows = worksheet.rowIterator();
int noOfRows = 0;
while( rows.hasNext() ) {
HSSFRow row = (HSSFRow) rows.next();
noOfRows++;
}
System.out.println("Number of Rows: " + noOfRows);
Run Code Online (Sandbox Code Playgroud)
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
if ((tempRow = sheet.getRow(i)) != null) {
//Your Code Here
}
}
Run Code Online (Sandbox Code Playgroud)
问题是POI将空行视为物理行.这种情况有时会发生在Excel中,虽然它们对眼睛不可见,但行确实存在.
如果您打开Excel工作表并选择数据下面的所有内容,然后将其删除(我知道它看起来是空的,但无论如何都要这样做),POI将返回正确的数字.
| 归档时间: |
|
| 查看次数: |
31693 次 |
| 最近记录: |