//读取到的sheet
Sheet[] sheet = workBook.getSheets();
Sheet s = sheet[0];
//获取该sheet 的有效数据的行数
int totalRows=s.getRows();现在我的excel中的有效数据是,  1条,而通过此方法获得的结果却是totalRows>1, 原因是我在sheet 中的其中一列中绑定了一个有效数据源.  有什么办法能过滤掉着一列来计算总的记录数吗?  或者是其它方法!

解决方案 »

  1.   

        
    我就是在这个两个列上绑定有效数据的,当我不去选择的话,省份和城市是空的,但通过s.getRows()来获取有效行数的话,它就把没有填数据的行数也算进去了
      

  2.   

    这么灵活的条件,jxl做不了吧。
      

  3.   

    省份和城市是我通过excel内置的功能处理的!
      

  4.   

    郁闷了一天  一直都没找到好的解决方案!  没办法 只能通过遍历每行,然后过滤掉为空的行数
    Sheet[] sheet = workBook.getSheets();
    Sheet s = sheet[0];
    int totalRows=s.getRows();
    int totalColumns = s.getColumns(); 
    if(s!=null&&totalRows>=1)
    {
      boolean hasText;
      for (int i = 1; i < totalRows; i++) {
      hasText=false;
      for (int j = 0; j < totalColumns; j++)   
      if (!StringUtil.isEmpty(s.getCell(j,i).getContents())) {//过滤掉单元格为空的行
       hasText = true;
       break;   
      } 
      if(hasText)
      {
                       //do something
                      }
                  }