데이터가 거의 100,000 개이며 Java 코드를 통해 XSSFWorkbook
을 사용하여 .xlsx
파일에 데이터를 쓰려고합니다. 데이터베이스에서 모든 데이터를 ArrayList
으로 가져올 수 있습니다. ArryList
을 반복하여 데이터를 셀 단위로 .xlsx
파일에 쓰고 있습니다. 8000 개의 행에 도달하면 java 코드에서 Out of Memory Heap Space
오류가 발생합니다.메모리 부족 오류 - Excel에 쓰는 동안 Java 힙 공간이 발생했습니다.
SXSSFWorkbook
은 XSSFWorkbook
과 비교했을 때 더 밝을 것이라고 읽었으므로 SXSSFWorkbook
을 사용해 보았습니다. 하지만 여전히 같은 문제에 직면하고 있습니다.
워크 북 또는 Java 코드에 누락 된 내용이 있습니까?
처음에는 60,000 개의 레코드 데이터가있을 때 .xls
개의 파일을 사용했습니다. 동일한 자바 코드는 파일을 HSSFWorkbook
으로 생성 할 수 있습니다.
Java 힙 공간을 늘리는 것은 미래에 내 데이터가 엄청나게 증가 할 수 있기 때문에 전혀 선택 사항이 아닙니다.
도움이 될 것입니다.
작은 코드 조각, Excel에 데이터를 쓰는 방법.
int rowNum = sheet.getLastRowNum();
Row lastRow = null ;
Cell cell = null;
ReportingHelperVo reportingHelperVo = null;
for (ReportingVo reportingVo : reportingVos) {
rowNum++;
lastRow = sheet.createRow(rowNum);
reportingHelperVo = reportingVo.reportingHelperVo;
cell = lastRow.createCell(0);
cell.setCellValue(reportingHelperVo.getLocation());
cell.setCellStyle(style);
cell = lastRow.createCell(1);
cell.setCellValue(reportingHelperVo.getCity());
cell.setCellStyle(style);
cell = lastRow.createCell(2);
cell.setCellValue(reportingHelperVo.getCountry());
cell.setCellStyle(style);
}
쓰기 * 라크 * 다운로드 ...는 무엇인가? –
@ AndersR.Bystrup 100,000 남 아시아 번호 체계 – Saggio
괜찮아요, 근사하네요.하지만 남아시아 밖의 사람이 그것을 알기를 기대하지 마세요. – sschrass