五一小長(zhǎng)假結(jié)束,又是復(fù)雜而繁忙的工作;昨天和室友學(xué)了下滑板,感覺還是挺有意思的;不會(huì)讓生活太過無聊;好了,沒言歸正傳;復(fù)盤下今天的bug了....
現(xiàn)象
線上excel導(dǎo)入出現(xiàn)字段錯(cuò)亂的現(xiàn)象,即:

image.png
第二行末尾字段本來是在前面的,莫名奇妙跑到后面的字段去了;當(dāng)時(shí)就覺的很奇怪,如果是字段對(duì)應(yīng)解析出錯(cuò),應(yīng)該全部數(shù)據(jù)都錯(cuò)亂掉了;應(yīng)該是單行數(shù)據(jù)有異?;蛘哒f是特殊情況沒有考慮到;
解決
問業(yè)務(wù)方要來真實(shí)數(shù)據(jù),看了一下;格式什么的都沒問題;然后就順手把單行數(shù)據(jù)copy到word里面了,果然發(fā)現(xiàn)了不一致:

image.png
異常數(shù)據(jù)出現(xiàn)這樣的單元格,debug,一行一行查看發(fā)現(xiàn)Row對(duì)象中cells里面沒有這個(gè)cell對(duì)象.....
所以導(dǎo)致后面的數(shù)據(jù)前移了;

image.png
我這邊用的迭代器去遍歷的
for (Cell cell : row) {
}
既然迭代器遍歷不到,就換一種遍歷方式:
for (int index = 1; index < columnNum; index++) {
Cell cell = row.getCell(index);
}
果不其然,可以成功拿到cell對(duì)象;