获取Excel文件内容实际行数
当某个单元格只设置了非常规的格式时,POI中通过sheet.getPhysicalNumberOfRows()也会将这些非常规格式单元格所在的行算在内,此时得到的行数并非想得到的行数。
因此可以通过sheet.getFirstRowNum() 和 sheet.getLastRowNum() 得到最后excel文件中第一行和最后一行有效数据的索引值,记住是索引值 ,可以通过这两个值进行遍历,获取excel文件数据。
具体代码如下:
try {
Workbook hwb = new HSSFWorkbook(new FileInputStream("D:\\测试文件.xls"));
Sheet sheet = hwb.getSheetAt(0);
//int rowCount = sheet.getPhysicalNumberOfRows();
int begin = sheet.getFirstRowNum();
int end = sheet.getLastRowNum();
for (int i = begin; i <= end; i++) {
if (null == sheet.getRow(i)) {
continue;
}
// 获取文件数据
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}