아파치 POI 라이브러리를 사용하여 엑셀 시트에서 데이터를 가져옵니다. 노란 부분이 강조 표시된 엑셀 시트를 첨부했습니다. 엑셀 시트에서 모든 데이터를 추출하려고하는데 강조 표시된 부분의 데이터를 가져 오지 못했습니다. 이 셀에 액세스하려고하면 널 포인터 예외가 발생합니다.값이있는 셀에 액세스 할 때 Null Pointer Exception이 발생합니까?
샘플 문서 : Document
샘플 코드입니다.
FileInputStream inputStream = 새 FileInputStream (파일);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
System.out.print(cell.getStringCellValue());
System.out.print(",");
}
System.out.println();
}
workbook.close();
inputStream.close();
위의 프로그램을 실행하면 일부 필드가 Excel 시트 (강조 표시된 부분)에서 추출되지 않습니다. 명시 적으로 해당 셀에 액세스하려고하면 널 포인터 예외가 발생합니다.
가능한 복제 (https://stackoverflow.com/ [NullPointerException이 무엇인가, 나는 그것을 해결 어떻게?] 질문/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) –
@JoeC 무엇이 NullPointerException인지 압니다. 질문을주의 깊게 읽으십시오. 셀에 문자열 값이 있지만 액세스하려고 할 때 널 포인터 예외가 발생합니다. Apache Poi는 셀에 값이 없을 때 널 포인터 예외를 발생시킵니다. – Tyson
어떤 코드 라인이 NPE를 던집니까? stacktrace를 보여주십시오. –