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表的最后,所以读取数据时还是顺序读取,空行就不读取了。
如果考虑空行在中间的情况,需要对他进行简单的改造,思路是:读取每一行,判断这一行是否为空行,为空跳过,不为空则进行处理。
工作中遇到的一个问题,欢迎大家讨论!
不错,我的问题解决了,很好的方法
谢谢,分享。我刚好遇到这个问题。
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论