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