网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java中怎么利用POI读取Excel行数

这篇文章将为大家详细讲解有关Java中怎么利用POI读取Excel行数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

10年积累的成都网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有察雅免费网站建设让你可以放心的选择与我们合作。

java 利用poi 读excel文件的操作,读取总的数据行数一般是通过调用 sheet.getLastRowNum() ;可是这样有时候会出现一些问题,例如,当其中一行的数据的确都为空,可是其原本的格式还在,并没有连带删除,这样计算出来的行数就不真实(比真实的大),还有当出现空白行时(也即某一行没有任何数据,通过Row row = sheet.getRow(i) 返回的row值为null),计算出来的值也不正确。

本人自己写了一个方法来对excel表进行过滤,将那些没有意义的行删掉,之后再调用sheet.getLastRowNum() 得到的值就是正确的了。

说明一下,本程序是结合自己项目的需求编写的,对于那些空白行有意义的excel文件来说,本文不存在参考价值。

package test; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.CellReference;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook; public class test2{  public static void main(String[] args) {    Workbook wb = null;    try {      wb = new HSSFWorkbook(new FileInputStream("E:\\Workspaces\\testdata\\仓库数据.xls"));    } catch (Exception e) {       //    }    Sheet sheet = wb.getSheetAt(0);    CellReference cellReference = new CellReference("A4");    boolean flag = false;    System.out.println("总行数:"+(sheet.getLastRowNum()+1));    for (int i = cellReference.getRow(); i <= sheet.getLastRowNum();) {      Row r = sheet.getRow(i);      if(r == null){        // 如果是空行(即没有任何数据、格式),直接把它以下的数据往上移动        sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);        continue;      }      flag = false;      for(Cell c:r){        if(c.getCellType() != Cell.CELL_TYPE_BLANK){          flag = true;          break;        }      }      if(flag){        i++;        continue;      }      else{//如果是空白行(即可能没有数据,但是有一定格式)        if(i == sheet.getLastRowNum())//如果到了最后一行,直接将那一行remove掉          sheet.removeRow(r);        else//如果还没到最后一行,则数据往上移一行          sheet.shiftRows(i+1, sheet.getLastRowNum(),-1);      }    }    System.out.println("总行数:"+(sheet.getLastRowNum()+1));  } }

关于Java中怎么利用POI读取Excel行数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站标题:Java中怎么利用POI读取Excel行数
文章网址:http://bjjierui.cn/article/pegdis.html

其他资讯