我有一个巨大的 Excel 文件,有很多列,看起来像这样:
Column1 Column2 Column3 Column4 Column5
abc def ghi
mno pqr
......
这是我编写的打印这些值的代码:
try {
FileInputStream inputStr = new FileInputStream(fileName);
XSSFWorkbook xssfWork = new XSSFWorkbook(inputStr) ;
XSSFSheet sheet1 = xssfWork.getSheetAt(0);
Iterator rowItr = sheet1.rowIterator();
while ( rowItr.hasNext() ) {
XSSFRow row = (XSSFRow) rowItr.next();
System.out.println("ROW:-->");
Iterator cellItr = row.cellIterator();
while ( cellItr.hasNext() ) {
XSSFCell cell = (XSSFCell) cellItr.next();
System.out.println("CELL:-->"+cell.toString());
}
}
} catch (Exception e) {
e.printStackTrace();
}
这段代码生成的输出是:-ROW:-->
CELL:-->Column1
CELL:-->Column2
CELL:-->Column3
CELL:-->Column4
CELL:-->Column5
ROW:-->
CELL:-->abc
CELL:-->def
CELL:-->ghi
ROW:-->
CELL:-->mno
CELL:-->pqr
所以,如果我们查看上面的输出,可以注意到POI库没有选择留空值的单元格,是否有一种方式可以将这些值作为null获取,或者一种识别跳过空白单元格呈现的值的方法?谢谢。
row.getCell(short)
已经被弃用了。 - Buhake SindiRow.CREATE_NULL_AS_BLANK
应该改为MissingCellPolicy.CREATE_NULL_AS_BLANK
。 - Jake Hm