摘要:此例為初次參與企業(yè)項目做的,代碼粗糙勿見怪從導入核心企業(yè)信息到數(shù)據(jù)庫文件上傳路徑執(zhí)行上傳執(zhí)行讀操作讀出的數(shù)據(jù)導入從第行開始從第列開始第個數(shù)據(jù)庫寫入操作白名單信息必輸字段核心企業(yè)名稱項目公司名稱為非必輸校驗忽略序號核心企業(yè)名稱項目公司名稱數(shù)據(jù)
此例為初次參與企業(yè)項目做的,代碼粗糙勿見怪:
/** * 從EXCEL導入核心企業(yè)信息到數(shù)據(jù)庫 * @param file * @return * @throws Exception */ @RequestMapping(value = "importWhitelistExcel") public ModelAndView readExcel( @RequestParam(value="excel",required=false) MultipartFile file ) { ModelAndView mv = this.getModelAndView(); PageData pd = this.getPageData(); Whitelist whiteList = new Whitelist(); if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} if (null != file && !file.isEmpty()) { String filePath = PathUtil.getClasspath() + Const.FILE_PATH_FILE; //文件上傳路徑 String dateStr = DateUtils.getSdfTimes(); String fileName = "Whitelist_"+Jurisdiction.getUsername()+"_"+dateStr; fileName = FileUpload.fileUp(file, filePath, fileName); //執(zhí)行上傳 //執(zhí)行讀EXCEL操作,讀出的數(shù)據(jù)導入List 2:從第3行開始;1:從第B列開始;0:第0個sheet String errmsg=null; //Matcher matcher = null; ListreadList=new ArrayList (); List errorList=new ArrayList (); try{ List excelPdList = (List)ObjectExcelRead.readExcel(filePath, fileName, 2, 1, 0, "#.####"); /*數(shù)據(jù)庫寫入操作======================================*/ /* * 白名單信息必輸字段: * 核心企業(yè)名稱,項目公司名稱 * (為非必輸) * 校驗: */ for(PageData ca:excelPdList){ // 忽略序號 PageData readPd = new PageData(); PageData tipPd = new PageData(); String coreManuName = StringUtils.trimToEmpty(ca.getString("var1")); //核心企業(yè)名稱 String companyName = StringUtils.trimToEmpty(ca.getString("var2")); //項目公司名稱 String coreManuId = null; //int index = excelPdList.indexOf(ca); // 數(shù)據(jù)校驗開始 if(StringUtils.isEmpty(coreManuName)) { tipPd.put("coreManuName", coreManuName); tipPd.put("companyName", companyName); if(StringUtils.isEmpty(companyName)){ // tipPd.put("tip", "核心企業(yè)名稱和項目公司名稱不能為空"); continue; }else{ tipPd.put("tip", "核心企業(yè)名稱不能為空"); } errorList.add(tipPd); // errmsg="核心企業(yè)名稱不能為空"; // break; }else if(StringUtils.isEmpty(companyName)) { tipPd.put("coreManuName", coreManuName); tipPd.put("companyName", companyName); tipPd.put("tip", "項目公司名稱不能為空"); errorList.add(tipPd); // errmsg="核心企業(yè)["+coreManuName+"]項目公司名稱不能為空"; // break; } // CoreCompany c = coreCompanyService.findByCompanyName(coreManuName); // System.out.println(coreManuName); // System.out.println(c); if(!StringUtils.isEmpty(coreManuName)){ CoreCompany coreManu = coreCompanyService.findByCompanyName(coreManuName); if(coreManu == null) { tipPd.put("coreManuName", coreManuName); tipPd.put("companyName", companyName); tipPd.put("tip", "系統(tǒng)找不到核心企業(yè)名稱,核心企業(yè)名稱錯誤"); errorList.add(tipPd); }else { coreManuId = coreManu.getId(); whiteList = whitelistService.findByWhitelistName(coreManuId, companyName); if(whiteList != null) {//判斷導入表中是否存在相同數(shù)據(jù) tipPd.put("coreManuName", coreManuName); tipPd.put("companyName", companyName); tipPd.put("tip", "此記錄已錄入系統(tǒng)"); errorList.add(tipPd); // errmsg = "核心企業(yè)["+coreManuName+"]和項目公司["+companyName+"在系統(tǒng)中已存在,請在導入表刪除后重新導入"; // break; } } } readPd.put("coreManuId", coreManuId); //核心企業(yè)編號 readPd.put("companyName", companyName); //項目公司名稱 readPd.put("status", "EBST0101"); readPd.put("createUser", Jurisdiction.getUsername()); readPd.put("createTime", DateUtils.getTime()); readPd.put("lasUpdUser", Jurisdiction.getUsername()); readPd.put("lasUpdTime", DateUtils.getTime()); readPd.put("Id", this.get32UUID()); //ID if(!readList.isEmpty()) { for(PageData read : readList) { if(read.containsValue(companyName) && read.containsValue(coreManuId)){ //判斷導入表中是否有相同項目公司 tipPd.put("coreManuName", coreManuName); tipPd.put("companyName", companyName); tipPd.put("tip", "此記錄在導入表中重復"); errorList.add(tipPd); // errmsg = "導入表里核心企業(yè)["+coreManuName+"]和項目公司["+companyName+"]在表中重復,請修改后導入"; // break; } } } readList.add(readPd); } }catch(Exception ex){ logger.error("處理Excel文件出錯", ex); errmsg="處理Excel文件出錯,"+ex.getMessage(); } if(errmsg==null && readList.size()==0){ errmsg="未檢測到符合條件的數(shù)據(jù)"; } if(errmsg!=null || errorList.size()>0){ if(errmsg==null){ errmsg="數(shù)據(jù)導入失敗,請核對以下數(shù)據(jù)"; } mv.addObject("errmsg", errmsg); mv.addObject("tipList", errorList); mv.setViewName("business/whitelist/whitelist_upload"); return mv; } // if(errmsg!=null){ // mv.addObject("errmsg", errmsg); // mv.setViewName("business/whitelist/whitelist_upload"); // return mv; // } //批量保存到數(shù)據(jù)庫 try { whitelistService.saveAll(readList); } catch (Exception e) { // e.printStackTrace(); logger.error(e.toString()); errmsg = "系統(tǒng)異常,保存數(shù)據(jù)失敗"; mv.addObject("errmsg", errmsg); mv.setViewName("business/whitelist/whitelist_upload"); return mv; } } mv.addObject("msg","success"); mv.setViewName("save_result"); return mv; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66719.html
摘要:本次比賽將使用模型來預(yù)測招商銀行三天后的收盤價,也就是利用月日前的數(shù)據(jù),來預(yù)測月日的收盤價。按照個交易日的模式,將數(shù)據(jù)變成一個,,的張量表。在實際使用時進行模型載入,分別查看預(yù)測結(jié)果。 作者:瘋貓子,「數(shù)據(jù)游戲」優(yōu)勝隊伍成員 摘要 LSTM模型是RNN的一種,其特點是在單一循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,構(gòu)建出了長短記憶門,也就是可以長時間發(fā)現(xiàn)和記憶長依賴關(guān)系。本次比賽將使用LSTM模型來預(yù)測招...
摘要:本次比賽將使用模型來預(yù)測招商銀行三天后的收盤價,也就是利用月日前的數(shù)據(jù),來預(yù)測月日的收盤價。按照個交易日的模式,將數(shù)據(jù)變成一個,,的張量表。在實際使用時進行模型載入,分別查看預(yù)測結(jié)果。 作者:瘋貓子,「數(shù)據(jù)游戲」優(yōu)勝隊伍成員 摘要 LSTM模型是RNN的一種,其特點是在單一循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,構(gòu)建出了長短記憶門,也就是可以長時間發(fā)現(xiàn)和記憶長依賴關(guān)系。本次比賽將使用LSTM模型來預(yù)測招...
摘要:而這里的單元格信息是唯一的,所以直接通過為一個空對象賦值即可。和相關(guān)的知識和技巧高亮的列單元格采用展示。在中,被選中的單元格會高亮相應(yīng)的行和列,以提醒用戶。 showImg(https://segmentfault.com/img/bVGkdk?w=900&h=500); XCEL 是一個 Excel 數(shù)據(jù)清洗工具,其通過可視化的方式讓用戶輕松地對 Excel 數(shù)據(jù)進行篩選。 XCEL...
摘要:總結(jié)整個過程的難點在于獲取文件對象,從數(shù)據(jù)中取值然后在按取出,這樣我們就可以從后臺上傳文件,然后進行批量導入數(shù)據(jù)庫,其他數(shù)據(jù)格式只需要改和中的數(shù)據(jù)字段就可以 第一篇(從django后臺解析excel數(shù)據(jù)批量導入數(shù)據(jù)庫) 文章會在github中持續(xù)更新 作者: knthony github 聯(lián)系我 1.django 如何從后臺上傳excel中批量解析數(shù)據(jù) 要從django后臺導入...
馬上就要開始啦這次共組織15個組隊學習 涵蓋了AI領(lǐng)域從理論知識到動手實踐的內(nèi)容 按照下面給出的最完備學習路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學習路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...
閱讀 3225·2021-11-24 09:39
閱讀 2950·2021-11-23 09:51
閱讀 903·2021-11-18 10:07
閱讀 3553·2021-10-11 10:57
閱讀 2765·2021-10-08 10:04
閱讀 3013·2021-09-26 10:11
閱讀 1062·2021-09-23 11:21
閱讀 2805·2019-08-29 17:28