我正试图连续获得非空白数量的单元格。
| 1 | 2 | 3 | | | |
| 55 | 33 | | | | |
(int) row.getLastCellNum();
但对于这两行,我得到的int大于实际上在我的工作表中有值的单元格数。这可能是什么原因?单元格格式和/或样式可以以某种方式负责吗?
我还注意到,如果我从excel表中删除值(手动,而不是从代码中删除),poi仍然将它们视为非空(null?)并将它们包含在总计数中。
UPD:经过一番研究后我发现,如果我向一个单元格添加值然后删除它,那么POI仍然认为它是非空的。有没有办法正确清除Excel工作表中的单元格内容而不删除整行/列?
答案 0 :(得分:0)
现在我已经解决了这个问题:
Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()) {
if (formatCellToString(cells.next()).equals("")) {
lastCellNumber = lastCellNumber - 1;
}
}
如果有人有更好的解决方案会很好。