getLastRowNum()与getLastCellNum()

  • sheet.getLastRowNum();//获取最后一行行标,行标是从0开始,所以比实际行数小1

        如果在sheet中没有数据,则返回-1;如果有n行数据,则返回n-1。

  • row.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1

        如果在row中没有数据,则返回-1;如果有n列数据,则返回n。

  • getRow();//返回当前在哪一行。
  • getPhysicalNumberOfRows();//获取有数据的行数

        如果一共有m行,有n行没有数据,则会返回m-n。

  • getPhysicalNumberOfCells();//获取有数据的列数

        如果一共有m列,有n列没有数据,则会返回m-n。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这段代码是一个方法,用于从Excel文件中读取数据并返回一个包含数据的二维列表。下面是对代码的逐行解释: 1. `@Override`:这是一个注解,表示该方法是对父类或接口中同名方法的重写。 2. `public List<List<Object>> getBankListExcel(InputStream in, String fileName) throws Exception`:这是方法的定义,参数包括一个输入流和文件名,返回一个二维列表。 3. `List<List<Object>> list = new ArrayList<>();`:创建一个空的二维列表,用于存储读取到的数据。 4. `Workbook work = this.getWorkbook(in, fileName);`:调用一个名为`getWorkbook`的方法,传入输入流和文件名,返回一个`Workbook`对象,表示Excel工作簿。 5. `if (null == work) { throw new Exception("创建Excel工作簿为空"); }`:如果`work`为空,则抛出异常,表示无法创建Excel工作簿。 6. `Sheet sheet = null; Row row = null; Cell cell = null;`:创建变量`sheet`、`row`和`cell`,用于引用工作表、行和单元格对象。 7. `for( int i = 0;i<work.getNumberOfSheets();i++) {`:遍历工作簿中的所有工作表。 8. `sheet = (Sheet) work.getSheetAt(i);`:获取第`i`个工作表。 9. `if (sheet == null) { continue; }`:如果工作表为空,跳过当前循环,继续下一次循环。 10. `for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {`:遍历工作表中的所有行。 11. `row = sheet.getRow(j);`:获取第`j`行。 12. `if (row == null) { continue; }`:如果行为空,跳过当前循环,继续下一次循环。 13. `List<Object> li = new ArrayList<>();`:创建一个空的列表,用于存储当前行的数据。 14. `for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {`:遍历行中的所有单元格。 15. `cell = row.getCell(y);`:获取第`y`个单元格。 16. `li.add(cell);`:将单元格的值添加到当前行的列表中。 17. `list.add(li);`:将当前行的列表添加到最终的二维列表中。 18. `return list;`:返回包含从Excel中读取到的数据的二维列表。 该方法通过遍历每个工作表、每行、每个单元格,将读取到的数据存储在一个二维列表中,并最终返回该列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值