springMVC将txt文件或Excel文件中的内容上传并导入数据库

需要导入POI架包

//文件上传


         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;     
         SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM");     
            /**构建文件保存的目录**/    
         String logoPathDir = "/files"+ dateformat.format(new Date());     
            /**得到文件保存目录的真实路径**/    
         String logoRealPathDir = request.getSession().getServletContext().getRealPath(logoPathDir);     
            /**根据真实路径创建目录**/    
         File logoSaveFile = new File(logoRealPathDir);     
         if(!logoSaveFile.exists())     
             logoSaveFile.mkdirs();           
            /**页面控件的文件流**/    
         MultipartFile multipartFile = multipartRequest.getFile("file");      
            /**获取文件的后缀**/    
         String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
         
         String logImageName = multipartFile.getOriginalFilename();  
            /**拼成完整的文件保存路径加文件**/    
         String fileName = logoRealPathDir + File.separator   + logImageName;
         
         File file=new File(fileName);
         try {
            multipartFile.transferTo(file);
        } catch (IllegalStateException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        
        String cardType=request.getParameter("cardName");
        String cardMoney=request.getParameter("cardMoney");
        String cardName=request.getParameter("cardNa");
        
        
        //判断文件格式为TXT
        if(suffix.equals(".txt")){
            
            try {
                BufferedReader br=new BufferedReader(new FileReader(fileName));
                String s ="";
                try {
                    while(StringUtils.isNotBlank(s=br.readLine())){
                        String[] card=s.split("[\\p{Space}]+");
                        if(card!=null){
                        GameCard gc=new GameCard();
                        gc.setCardNo(card[0]);
                        gc.setCardPass(card[1]);
                        gc.setCardType(cardType);
                        gc.setCardName(cardName);
                        gc.setCardMoney(cardMoney);
                        gc.setCardState("1");
                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        String time = df.format(new Date());
                        Timestamp ts = Timestamp.valueOf(time);
                        gc.setCreateTime(ts);
                        gameCardService.add(gc);
                        }
                        
                        
                    }
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }else{
        
        //文件格式为Excel
         try {
            // 创建对Excel工作簿文件的引用
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileName));
            HSSFSheet sheet=workbook.getSheet("sheet1");
            int rows=sheet.getPhysicalNumberOfRows();
            for(int i=0;i                 HSSFRow row=sheet.getRow(i);
                if(row!=null){
                    int cells=row.getPhysicalNumberOfCells();
                    String value="";
                    for(int j=0;j                         HSSFCell cell=row.getCell(j);
                         if (cell != null) {
                            switch (cell.getCellType()) {
                            case HSSFCell.CELL_TYPE_FORMULA:
                            break;
                            case HSSFCell.CELL_TYPE_NUMERIC:
                            value += (int)cell.getNumericCellValue() + ",";   
                            break;
                            case HSSFCell.CELL_TYPE_STRING:
                            value += cell.getStringCellValue() + ",";
                            break;
                            default:
                            value += "0";
                            break;
                            }
                         }
                    }
                    String val[]=value.split(",");
                    GameCard gc=new GameCard();
                    gc.setCardNo(val[0]);
                    gc.setCardPass(val[1]);
                    gc.setCardType(cardType);
                    gc.setCardName(cardName);
                    gc.setCardMoney(cardMoney);
                    gc.setCardState("1");
                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String time = df.format(new Date());
                    Timestamp ts = Timestamp.valueOf(time);
                    gc.setCreateTime(ts);
                    gameCardService.add(gc);
                    
                    
                }
            }    
                    
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        }

你可能感兴趣的:(spring)