博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC+JXL 上传Excel2003文件并导入数据库
阅读量:5061 次
发布时间:2019-06-12

本文共 2818 字,大约阅读时间需要 9 分钟。

index.jsp

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

<title>Insert title here</title> 
</head>
<body>  
 选择文件上传:   <form action="${pageContext.request.contextPath}/wenwu/importExcel.action" method="post" enctype="multipart/form-data"> 
            <input type="file" name="file" />
            <input type="submit"  value="导入Excel" />
           </form> 
                  
</body> 
</html>    

 

WenwuController.java 

/*

  * 单文件导入Excel
  */
    @RequestMapping(value = "/importExcel")
    public String importExcel(HttpServletRequest request) throws Exception{
     List<Wenwu> list=new ArrayList<Wenwu>();
     
        //将当前上下文初始化给  CommonsMutipartResolver(多部分解析器)
        CommonsMultipartResolver multipartResolver=new CommonsMultipartResolver(request.getSession().getServletContext());
        //检查form中是否有enctype="multipart/form-data"
        if(multipartResolver.isMultipart(request)){
            //将request变成多部分request
            MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
            //获取multiRequest 中所有的文件名
            Iterator iter=multiRequest.getFileNames();                     

            while(iter.hasNext()){

                //一次遍历所有文件
                MultipartFile file=multiRequest.getFile(iter.next().toString());
                if(file!=null){
                 //得到上传文件名
                 String filename=file.getOriginalFilename();
                 String path="E:/springUpload"+filename;
                    //上传
                    file.transferTo(new File(path));
                    wenwuService.importExcelT(path);
   
                 }  
              }          
          }
         wenwuService.saveAll(list);
         System.out.println("ok");
         return "success";
    }

 

WenwuServiceImpl.java

@Override

 public void importExcelT(String path) throws IOException {  
  //定义集合批量处理数据
  List<Wenwu> list=new ArrayList<Wenwu>();
         
  int  num=0;                            
        Workbook book=null;
  try {
   book = Workbook.getWorkbook(new File(path));
   //遍历excel表里有几个工作簿
   num=book.getNumberOfSheets();
   
  } catch (BiffException e) {
   // TODO Auto-generated catch block     
   e.printStackTrace();   
   
  }                  
                                     
        //遍历工作表
        for(int i=0;i<num;i++){               
         //获得第i个工作表对象                 
   Sheet sheet = book.getSheet(i);                                          
          
   int rowcount = sheet.getRows();//行数
   //int colcount = sheet.getColumns();//列数
                             
      for(int rowindex = 2; rowindex<=rowcount;rowindex++){
       int colindex = 1;
      
       //得到第1行第1列的单元格
    Cell cell = sheet.getCell(0, 0);
    //System.out.println("==============="+cell.getContents());
       Cell cell1 = sheet.getCell(colindex-1, rowindex-1);
          Cell cell2 = sheet.getCell(colindex-0, rowindex-1);
          Cell cell3 = sheet.getCell(colindex+1, rowindex-1);
         
          //实体属性初始化
    String type=book.getSheet(i).getName();
    String name = null;
       String property = null;
    String data = null;
 
         if("名称".equals(cell.getContents())){                                              
     name = cell1.getContents();
        property = cell2.getContents();
     data = cell3.getContents();
       }else{
        Cell cell4 = sheet.getCell(colindex+2, rowindex-1);
        
        name = cell2.getContents();
        property = cell3.getContents();
     data = cell4.getContents();
       }
    
         Wenwu wenwu =new Wenwu();             
    wenwu.setType(type);
    wenwu.setName(name);
    wenwu.setProperty(property);
    wenwu.setData(data);
                      
    if(property!=null && property!=""){ 
              list.add(wenwu);              
         }                                           
         }    
     }
     wenwuDao.saveAll(list);
 }

转载于:https://www.cnblogs.com/qianxun-2017/p/7873558.html

你可能感兴趣的文章
第九次团队作业-测试报告与用户使用手册
查看>>
Mongodb 基本命令
查看>>
控制文件的备份与恢复
查看>>
返回代码hdu 2054 A==B?
查看>>
iOS 8 地图
查看>>
PHP的SQL注入技术实现以及预防措施
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
Android 自定义View (三) 圆环交替 等待效果
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
HEVC播放器出炉,迅雷看看支持H.265
查看>>
[置顶] Android仿人人客户端(v5.7.1)——人人授权访问界面
查看>>
Eclipse 调试的时候Tomcat报错启动不了
查看>>
【安卓5】高级控件——拖动条SeekBar
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android入门之文件系统操作(二)文件操作相关指令
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>