Don't think your out of memory. At least not quite yet.

You probably are stalled in garbage collection. A spread sheet of this size
could create millions of objects -- maybe 10s of millions, depending on how
many columns, and how many are Strings.

The only thing you can do is to use numeric cell values where possible, and
try to cut down on the number of retrieved rows for your query.

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Prakash Chudasama
Sent: Tuesday, May 03, 2005 4:28 AM
To: [email protected]
Subject: How to handle high data volume?

Hi

I am using POI to generate the excel report.
Following is the code which i am using to dump the data in excel sheet.
My query is fetching more than 13000 records. I am passing the workbook
object
in request. The next page is servlet which set the content type and prints
the
workbook.

But i am getting this error message after 10 mins or so. <May 3, 2005
12:42:36
PM GMT+05:30> <Warning> <WebLogicServer> <BEA-000337> <ExecuteThread: '14'
for
queue: 'weblogic.kernel.Default' has been busy for "819" seconds working on
the
request "Http Request: /TestProject/ExportExcel.jsp", which is more than the
configured time (StuckThreadMaxTime) of "600" seconds.>

How to resolve this problem? I think its OutofMemory exception.

                    HSSFWorkbook hwb = new HSSFWorkbook();
                    HSSFCellStyle style;
                    //Create sheet with appropriate name.
                    HSSFSheet sheet1 = hwb.createSheet("ExportToExcel");
                    //Create 0th row in the sheet for header
                    style =hwb.createCellStyle();
                    HSSFFont fontObj = hwb.createFont();
                    fontObj.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
                    style.setFont(fontObj);
                    HSSFRow row = sheet1.createRow((short)0);
                    row = sheet1.createRow((short)0);
                    //Printing header and setting columnwidth.
                    for(int i=0;i<headerFields.size();i++){
                        sheet1.setDefaultColumnWidth((short)10);
                        HSSFCell testCell = row.createCell((short)i);
                        testCell.setCellStyle(style);
                        testCell.setCellValue((String)headerFields.get(i));
                    }
                    int rowCount = 1;

                    pstmt = con.prepareStatement(strFinalQuery.toString());
                    pstmt.setQueryTimeout(GFBConstants.QUERY_TIME_OUT);
                    rs = pstmt.executeQuery();
                    while(rs !=null && rs.next())
                    {


                        HSSFRow rowInfo = sheet1.createRow((short)rowCount);
                        isRecordNotFound = false;
                        int cellCount = 0;
                        for(int i=0;    i<fields.size();i++){
                            String strVal = null;
                            sheet1.setDefaultColumnWidth((short)10);
                            HSSFCell testCell =  
rowInfo.createCell((short)(cellCount));
                            testCell.setEncoding(HSSFCell.ENCODING_UTF_16);
                            strVal = rs.getString(i+1);
                            
                            if(strVal == null)
                                strVal = "";
                            //Printing the data and setting column width.
                            testCell.setCellValue(strVal);
                            cellCount++;
                        }
                         rowCount++;
                    }
        pageContext.getRequest().setAttribute("DATA", hwb); 





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/

Reply via email to