java进行excel数据导入数据库 (代码)

1.需要jar包

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>

</dependency>

2创建controller类

通过MultipartFile 接收上传的excel文件

  @RequestMapping(value="upload",method=RequestMethod.POST)
    @ResponseBody
    public boolean upload(HttpServletRequest request,
           @RequestParam("file") MultipartFile file) throws Exception {
       //如果文件不为空,写入上传路径
       if(!file.isEmpty()) {
           return importService.ImportEexlService(file);
       }else {
           return false;
        }

    }

3创建service类

public boolean ImportEexlService(MultipartFile file){

try {

//解析xlsx后缀的excel文件 xls后缀的暂时没写

readXlsx(file.getInputStream());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;

}

//创建方法 解析excel文件 保存到数据库

public  void readXlsx(InputStream inputStream ) throws IOException{  

//XSSFWorkbook  需要一个inputStream流 在上面我们已经把file转成了流所以现在直接用就可以了

      XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream);
      XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);  
        String comcode=null;
        String comname=null;
        String ck_rank=null;
        String ck_score=null;
        String fw_rank=null;
        String fw_score=null;

//获取第一个Sheet 遍历获取每一行数据

      for(int rowNum = 2; rowNum <= xssfSheet.getLastRowNum(); rowNum++ ){  

//从第二行开始遍历 

//取每一行每一列的值

        XSSFRow xssfRow = xssfSheet.getRow(rowNum);  

//取第一行第一个格的值

        comcode=getValue(xssfRow.getCell(0));
        comname=getValue(xssfRow.getCell(1));
        ck_rank=getValue(xssfRow.getCell(2));
        ck_score=getValue(xssfRow.getCell(3));
        fw_rank=getValue(xssfRow.getCell(4));

        fw_score=getValue(xssfRow.getCell(5));

//把获取到的数据直接插入到数据库

            String sql=" insert into t_car_service(id,comcode,comname,ck_rank,ck_score,fw_rank,fw_score,create_date) "
          + " values('"+UUID.randomUUID().toString()+"','"+comcode+"','"+comname+"','"+ck_rank+"','"+ck_score+"','"+fw_rank+"','"+fw_score+"',SYSDATE) ";
                importDao.importEexlDao(sql);
        }

}


完结

本文为自己做项目亲自总结

不懂请下方留言

转载请标明地址

导出的话过几天会更新

猜你喜欢

转载自blog.csdn.net/weixin_39592397/article/details/80967876
今日推荐