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

2023-04-12


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表的最后,所以读取数据时还是顺序读取,空行就不读取了。




如果考虑空行在中间的情况,需要对他进行简单的改造,思路是:读取每一行,判断这一行是否为空行,为空跳过,不为空则进行处理。



本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com