다음과 같은 문제가 있습니다. 큰 XML 파일 (약 100MB)을 파싱합니다. 그런 다음 데이터를 처리 한 후 출력을 XLS 파일에 쓰고 있습니다.xls 파일에 쓰는 중 오류가 발생했습니다 - apache poi multithreading
처리가 ExecutorService를 사용하여 병렬 처리되고 모든 스레드가 동일한 통합 문서에 쓰고 있습니다.
Caused by: java.lang.NullPointerException
at org.apache.poi.hssf.record.aggregates.RowRecordsAggregate.getEndRowNumberForBlock(RowRecordsAggregate.java:219)
at org.apache.poi.hssf.record.aggregates.RowRecordsAggregate.createIndexRecord(RowRecordsAggregate.java:469)
at org.apache.poi.hssf.model.InternalSheet.visitContainedRecords(InternalSheet.java:637)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.getBytes(HSSFWorkbook.java:1466)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1380)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1366)
at sample.Controller.buildSpreadsheet(Controller.java:295)
at sample.Controller.generateXLS(Controller.java:325)
... 58 more
것은 때때로 어떤 문제없이 작동하지만, 때로는이 오류와 충돌한다는 것입니다 : 내가 가진
예외는 다음과 같습니다.
아이디어가 있으십니까?
엑셀 시트에 빈 셀이 있습니까? – AMB
코드 및 기타 사항에 관한 자세한 정보는 도움이 될 것입니다. – Nilesh