日期:2014-05-18  浏览次数:21118 次

poi读取excel遇到空行
poi 读取 excel对数据进行封装  
读取到很到空白行,在list<Map>里面有很多值为null的就是因为空白行造成,
请问如何避免读取空白行。
 for (int k = 2; k <= sheet.getLastRowNum(); k++) {
    Row row=sheet.getRow(k); 
    //读取每一列
    for(int i=0;i<columnNum;i++){  
         //数据封装
    }
 }
我从第三行开始读取
poi Excel

------解决方案--------------------
引用:
目前已经加了if(null!=row)判断还是对读到空白行放到map中
封装到map方法大致为
switch(cell.getCellType()){  
case Cell.CELL_TYPE_BLANK:  
Vouchermap.put(“键”, 某行中的某一列);
break;  
至于为何还是读到空白行还望赐教。。。。
但是选择excel空白行后清除一下数据以及删除一下行后就不会出现读取空白行的问题。
疑问是:之前本来就是空白,为何我做了删除行后就好了。

LZ可以新建一个excel,把有用的数据行拷贝过去(别拷多了),这样试试。

感觉那些被读到的行,可能是被操作过了,虽然看起来是空的,实际上不是null了

另外一个解决法子,如果所有有效行保证都是非空字符串的话,那判断里增加一个条件 &&!"".equals(某行中的某一列)
------解决方案--------------------
跳过这样不就可以了吗??

Row row = sheet.getRow(i);
if (row == null) {
continue;
}