听老歌 发表于 2012-01-12 20:55

jxl操作Excel导入数据库之空行的处理

jxl操作Excel导入数据库之空行的处理






jxl因其快速小巧受到大家的欢迎,但是jxl还是有许多不尽如人意的地方。
本文旨在解决jxl读取excel数据时无法自动取掉空行的问题,其实就是添加一个方法。
//返回去掉空行的记录数


private int getRightRows(Sheet
sheet) {

int rsCols = sheet.getColumns(); //列数

int rsRows = sheet.getRows(); //行数

int nullCellNum;

int afterRows = rsRows;

for (int i = 1; i < rsRows; i++) { //统计行中为空的单元格数

   nullCellNum = 0;

    for (int j = 0; j < rsCols; j++) {


      String val = sheet.getCell(j, i).getContents();


      val
= StringUtils.trimToEmpty(val);

      if (StringUtils.isBlank(val))


         nullCellNum++;

    }


    if (nullCellNum >=
rsCols) { //如果nullCellNum大于或等于总的列数


   afterRows--;          //行数减一

   }


}


return afterRows;

} 因为主要考虑空行在Sheet表的最后,所以读取数据时还是顺序读取,空行就不读取了。
如果考虑空行在中间的情况,需要对他进行简单的改造,思路是:读取每一行,判断这一行是否为空行,为空跳过,不为空则进行处理。



转自:http://blog.bossma.cn/java/jxl-excel-empty-line/jxl操作Excel导入数据库之空行的处理

小忻黑夜 发表于 2012-01-12 20:55

谢谢分享

逆天_天空 发表于 2014-03-11 22:30

谢谢分享得得得
页: [1]
查看完整版本: jxl操作Excel导入数据库之空行的处理