JXL性能問題討論
下面這個方面可能產生大內存嗎?如果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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!