JXL性能問題討論

wf1006 13年前發布 | 3K 次閱讀 MISC
下面這個方面可能產生大內存嗎?如果EXCEL有2000~5000行數據的話?
public List getExcelList(InputStream inputStream,List errorMsgList,List warningMsgList,String roleType)
            throws Exception {          
                List excelList = new ArrayList();       
                jxl.Workbook rwb = Workbook.getWorkbook(inputStream);
                Sheet rs = rwb.getSheet(0);
                int rows = rs.getRows();
                Cell cell = null;
                InvoiceModifyEntity entity = null;      
                String strs[] = MyUtil.getAttributeHeadInfoToEntity(rs);                
                for (int j = 2; j < rows; j++){
                    cell = rs.getCell(0, j);
                    if(cell.getContents() !=null && cell.getContents().length()>0){                      
                        //跳過處理
                        if(this.isSkipRow(rs,j))
                            continue;
                        entity = new InvoiceModifyEntity();     
                        entity.setAttr_inds(strs[0]);
                        entity.setAttr_codes(strs[1]);
                        describeModifyHeader(entity,j,rs,errorMsgList,warningMsgList);
                        MyUtil.setAttributeValueByEnity(entity, rs, j,errorMsgList,warningMsgList,roleType);
                        MyUtil.validateInvoiceCurrencyAndAmt(entity, j, errorMsgList, warningMsgList,36);
                        excelList.add(entity);                      
                        //超過最大錯誤數量,則不再處理
                        if(isOverErrorCount(errorMsgList))
                            break;
                    }
                }
                return excelList;       
    }

 本文由用戶 wf1006 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!