我们使用 apache poi 3.8 来解析 Excel。我们需要能够检测(并跳过)隐藏行,因为它们在我们的用例中往往包含垃圾数据。
看起来这应该有效:
row.isFormatted() && row.getRowStyle().getHidden()
但似乎从来没有任何行级格式(getRowStyle() 总是返回 null)。作为最后的手段,我们认为检查单元格样式可能有效:
for (int i = 0; i < row.getLastCellNum(); i++) {
Cell cell = row.getCell(i);
if (cell != null && cell.getCellStyle() != null && cell.getCellStyle().getHidden())
...
但对于我们得到的每一行(上面 for 循环中的自定义输出):
Cell 0 is not hidden org.apache.poi.hssf.usermodel.HSSFCellStyle@1b9142d0 / false
“getHidden()”不起作用还是不像我想象的那样起作用?还有其他方法来检测隐藏行吗? (隐藏的列也是一个不错的奖励,但与自动取款机的相关性稍差)
getRowStyle
通常应该像你想象的那样工作。
否则,您可以检查行的高度,因为隐藏行的高度通常设置为 0。
使用row.getHeight()
or row.getZeroHeight()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)