Apache POI를 사용하여 Excel 파일을 작성 중입니다.Excel 파일을 작성하는 동안 Apache POI OutOfMemoryError
는 난에 문자열 []에 저장된 fieldName에 fieldName에 (열)를 갖는 myResultSet
모든 데이터를 기록 할. 행을 쓰는 동안
String xlsFilename = "myXLSX.xlsx";
org.apache.poi.ss.usermodel.Workbook myWorkbook = new XSSFWorkbook();
org.apache.poi.ss.usermodel.Sheet mySheet = myWorkbook.createSheet("myXLSX");
Row currentRow = mySheet.createRow(0);
for (int k = 0; k < fieldNames.length; k++) {
// Add Cells Of Title Of ResultsTable In Excel File
currentRow.createCell(k).setCellValue(fieldNames[k]);
}
for (int j = 0; j < countOfResultSetRows; j++) {
myResultSet.next();
currentRow = mySheet.createRow(j + 1);
for (int k = 0; k < fieldNames.length; k++) {
currentRow.createCell(k).setCellValue(myResultSet.getString(fieldNames[k]));
System.out.println("Processing Row " + j);
}
}
FileOutputStream myFileOutputStream = new FileOutputStream(xlsFilename);
myWorkbook.write(myFileOutputStream);
myFileOutputStream.close();
내 문제는 프로그램이 느린 속도가 느린지고 있는지 :
나는 70000 행과 27 열
내 코드
있습니다. 이 행 (3500)에 도달하면는 예외 중지 : 글
예외 "스레드 3"java.lang.OutOfMemoryError와 :. java.lang.AbstractStringBuilder에서 Java 힙 공백 (AbstractStringBuilder.java:45) at java.lang.StringBuffer. (StringBuffer.java:79)
메모리가 부족한 것 같습니다.
어떻게 해결할 수 있습니까?
1000 개가 넘는 데이터를 임시 파일에 저장할 수 있습니까? 예를 들면?
무엇을 제안하겠습니까?
는 나도 ( JAVA - Out Of Memory Error while writing Excel Cells in jxl)지금 어쨌든 XLSX 파일이 필요 그것을 해결 JXL을 사용하여 결코 같은 문제가 있었다, 그래서 나는 POI를 사용해야합니다.
사용중인 응용 프로그램 서버는 무엇입니까? –