接口:

  1 /**
  2      * 
  3      * Description:  导入excel表 
  4      * @param map
  5      * @param request
  6      * @param session
  7      * @return
  8      * @author shiqianyu
  9      * @throws Exception 
 10      * @Data 2018年3月12日 下午2:40:52
 11      */
 12     @RequestMapping("/importExcelData")
 13     public ModelAndView importExcelData(ModelMap map,HttpServletRequest request,HttpSession session,@RequestParam(value = "file", required = true)MultipartFile multfile) throws Exception{  
 14          //获取页面信息
 15         Map<String, String> pageCrawlValue = StringUtil.getArrayValue(request.getParameterMap());
 16         pageCrawlValue.put("CRAWLRESULTPATH", pageCrawlValue.get("CRAWLRESULTPATH")+File.separator+pageCrawlValue.get("PAGECRAWLNAME"));
 17         PageCrawlTaskManage pageCrawlTaskManage = new PageCrawlTaskManage();
 18         pageCrawlTaskManage.setRegx(pageCrawlValue.get("PageRegx"));
 19         pageCrawlTaskManage.setPage_prdfix(pageCrawlValue.get("PAGE_PRDFIX"));
 20         pageCrawlTaskManage.setCtCycle(pageCrawlValue.get("CTCYCLE"));
 21         pageCrawlTaskManage.setCrawlResultPath(pageCrawlValue.get("CRAWLRESULTPATH"));
 22         pageCrawlTaskManage.setProxyDeployId(pageCrawlValue.get("PROXYID"));
 23         pageCrawlTaskManage.setCrawlIntervalTime(Integer.valueOf(pageCrawlValue.get("CRAWL_INTERVAL_TIME")));
 24         pageCrawlTaskManage.setPageCrawlName(pageCrawlValue.get("PAGECRAWLNAME"));
 25         pageCrawlTaskManage.setIsDrill(pageCrawlValue.get("isDrill"));
 26         pageCrawlTaskManage.setCtCycleUnit(pageCrawlValue.get("CTCYCLEUNIT"));
 27         pageCrawlTaskManage.setDataSourceId(pageCrawlValue.get("DATASOURCEID"));
 28         pageCrawlTaskManage.setPage_start(pageCrawlValue.get("PAGE_START"));
 29         pageCrawlTaskManage.setPage_end(pageCrawlValue.get("PAGE_END"));
 30         pageCrawlTaskManage.setDescribe(pageCrawlValue.get("describe"));
 31         pageCrawlTaskManage.setThreadCount(pageCrawlValue.get("CTTHREADCOUNT"));
 32         pageCrawlTaskManage.setPage_suffix(pageCrawlValue.get("PAGE_SUFFIX"));
 33         
 34         int startRow = Integer.parseInt(pageCrawlValue.get("startRow"))-1;//导入excel 起始行号 -3
 35         int endRow = Integer.parseInt(pageCrawlValue.get("endRow"))-1; //导入excel 结束行号 -3
 36         int column = Integer.parseInt(pageCrawlValue.get("column"))-1; //导入 excel指定的列号 -1
 37         
 38         //获取页码后缀
 39         List<String> suffixs = new ArrayList<String>();
 40         
 41         
 42         //检查文件
 43         ExcelData.checkFile(multfile);
 44          //获得Workbook工作薄对象
 45         Workbook workbook = ExcelData.getWorkBook(multfile);
 46         //创建返回对象,把每行中的值作为一个数组,所有行作为一个集合返回
 47         List<String[]> list = new ArrayList<String[]>();
 48         if(workbook != null){
 49             for(int sheetNum = 0;sheetNum < workbook.getNumberOfSheets();sheetNum++){
 50                 //获得当前sheet工作表
 51                 Sheet sheet = workbook.getSheetAt(sheetNum);
 52                 if(sheet == null){
 53                     continue; 
 54                 }
 55                 //获得当前sheet的开始行
 56                 int firstRowNum  = startRow;
 57                 //获得当前sheet的结束行
 58                 int lastRowNum = endRow;
 59                 //循环行
 60                 for(int rowNum = firstRowNum;rowNum <= lastRowNum;rowNum++){ //firstRowNum+1;
 61                     //获得当前行
 62                     Row row = sheet.getRow(rowNum);
 63                     if(row == null){
 64                         continue;
 65                     }
 66                     //获得当前行的开始列
 67                     int firstCellNum = row.getFirstCellNum();
 68                     //获得当前行的列数
 69                     int lastCellNum = row.getLastCellNum();
 70                     String[] cells = new String[row.getLastCellNum()];
 71                     //循环当前行
 72                     for(int cellNum = firstCellNum; cellNum < lastCellNum;cellNum++){
 73                         if(cellNum==column){
 74                             Cell cell = row.getCell(cellNum);
 75                             cells[cellNum] = ExcelData.getCellValue(cell);
 76                         }
 77                         
 78                     }
 79                     list.add(cells);
 80                 }
 81             }
 82         }
 83         
 84        
 85         for(int i= 0;i<list.size();i++){//startRow
 86             String[] arr=null;
 87             arr = list.get(i);//[张飞, As255, c2, d2, f2]
 88             if(arr!=null){
 89                 //遍历列
 90                 for(int j=0;j<arr.length;j++){
 91                     if(j==column){
 92                         suffixs.add(arr[j]);//As255
 93                     }
 94                 }
 95             }
 96         }
 97          
 98         map.put("pageCrawlTaskManage", pageCrawlTaskManage);
 99         map.put("times",suffixs); 
100         return new ModelAndView("crawl/CrawlTaskToExcel");
101     }
View Code

相关文章:

  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
  • 2021-05-15
  • 2022-12-23
  • 2021-12-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-10
  • 2021-08-01
  • 2022-12-23
  • 2021-07-31
  • 2021-12-12
相关资源
相似解决方案