请选择 进入手机版 | 继续访问电脑版

学JAVA网

 找回密码
 立即注册

JAVA必备JAR包:poi excel文件导入

[复制链接]
发表于 2018-6-5 11:30:50 |显示全部楼层
本着认真学习的态度  我们开始讲解一下poi的excel导入数据库的操作。

首先 我们创建一个Java web项目 基于SpringMvc的java Web项目


第二 将Jar包导入到项目当中去 我们此处使用的为3.8版本 你可以使用3.8以及以上版本(向下兼容未测试)




第三  前台页面

本前端页面使用Easyui框架 如果你没有使用easyui 你可以将input中的方法去除 直接改成submit提交。
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>数据导入</title>
  8. <script src="../scripts/easyui1.4.4/jquery.min.js" type="text/javascript"></script>
  9. <script src="../scripts/easyui1.4.4/jquery.easyui.min.js" type="text/javascript"></script>
  10. <script src="../scripts/easyui1.4.4/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
  11. <link href="../scripts/easyui1.4.4/themes/gray/easyui.css" rel="stylesheet" type="text/css" />
  12. <link href="../scripts/easyui1.4.4/themes/icon.css" rel="stylesheet" type="text/css" />
  13. <link href="../style/main.css" rel="stylesheet" type="text/css" />

  14. </head>
  15. <body style="width:400px;">
  16.         <form id="fileUpload" method="post" enctype="multipart/form-data" action="/fileUploads">
  17.         
  18.                 <table class="mytable">
  19.                         <tr>
  20.                                 <td>添加文件:</td>
  21.                                 <td>
  22.                                         <input style="width:220px;" name="files" id="files" type="file"/>
  23.                                 </td>
  24.                         </tr>
  25.                         <tr>
  26.                                 <td></td>
  27.                                 <td>
  28.                                         <a style="margin-top:100px;" onclick="fileUpload()" class="easyui-linkbutton">开始上传</a>
  29.                                 </td>
  30.                         </tr>
  31.                 </table>
  32.         </form>
  33.         <script type="text/javascript">
  34.                
  35.                 function fileUpload(){
  36.                         $('#fileUpload').form('submit', {   
  37.                             onSubmit: function(){
  38.                                     var oInput=document.getElementById("files");
  39.                                     if(oInput.value==""){
  40.                                             return false;
  41.                                     }
  42.                             },   
  43.                             success:function(data){   
  44.                                      $.messager.alert("信息","上传成功!");
  45.                                      parent.$("#dwin").dialog("close");  
  46.                                      parent.$("#dg").datagrid("reload");
  47.                             }   
  48.                         });
  49.                  
  50.                  }
  51.         </script>
  52.         
  53. </body>
  54. </html>
复制代码
第四 控制器 /fileUploads
  1. @RequestMapping(value = "/fileUploads", method = RequestMethod.POST)
  2.         public
  3.         String fileUploads(HttpServletRequest request, HttpServletResponse response) throws IOException, InvalidFormatException{

  4.                 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());

  5.                 List<MultipartFile> files=null;

  6.                 if(multipartResolver.isMultipart(request)){
  7.             //转换成多部分request
  8.             MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
  9.             files=multiRequest.getFiles("files");
  10.                 }

  11.                  if(files!=null&&files.size()>0){
  12.                 //循环获取file数组中得文件
  13.                 for(int i = 0;i<files.size();i++){
  14.                   MultipartFile file = files.get(i);
  15.                   saveFile(file,"",request,"");
  16.                 }
  17.                  }

  18.         return null;
  19.         }
复制代码
  1. /**
  2.          * 文件保存的
  3.          * @param file
  4.          * @param fileId
  5.          * @param request
  6.          * @return
  7.          * @throws IOException
  8.          * @throws InvalidFormatException
  9.          */
  10.         private boolean saveFile(MultipartFile file,String fileId,HttpServletRequest request,String attType) throws IOException, InvalidFormatException {

  11.                         //Session获取用户登录信息
  12.                         HttpSession session = request.getSession();
  13.                         Map userInfo=(Map) session.getAttribute("user");
  14.                         String ssds=userInfo.get("orgCityName").toString();
  15.                         String ssdsid=userInfo.get("orgCityId").toString();

  16.                         //初始化输入流
  17.                 InputStream is = null;
  18.                 is =file.getInputStream();
  19.                 Workbook book = WorkbookFactory.create(is);

  20.                 //判断book类型
  21.                /* if (POIFSFileSystem.hasPOIFSHeader(is)) {
  22.                          book = new HSSFWorkbook(is);                                                //将is读取到excel表格中
  23.                 }
  24.                 if (POIXMLDocument.hasOOXMLHeader(is)) {
  25.                         book=new XSSFWorkbook(is);
  26.                 }*/

  27.                 Sheet sheet = book.getSheetAt(0);        //读取第一个Sheet页

  28.                 List<Map> list1=new ArrayList<Map>();
  29.                 Map<Object,Object> map=new HashMap<Object,Object>();
  30.                 //查询这个sheet有多少行
  31.                 for (int j =1; j <= sheet.getLastRowNum(); j++) {

  32.                         Row row = sheet.getRow(j);                                                                                //当前行

  33.                         String qsdz=String.valueOf(getCellValue(row.getCell(1)));                        //起始电站
  34.                         String kxid=String.valueOf(getCellValue(row.getCell(2)));                        //馈线OID
  35.                         String kxmc=String.valueOf(getCellValue(row.getCell(3)));                        //馈线名称


  36.                         //将行数据添加到map中
  37.                          map.put("qsdz",bz);
  38.                          map.put("kxid",xszq);
  39.                          map.put("kxmc",xszqdw);

  40.                         list1.add(map);
  41.                         try {

  42.                                         List<XlxsTYjDwyjXsZwxszqVO> voList = zwxszqBizc.saveCyc(list1);

  43.                                 } catch (Exception e) {
  44.    throw new RestClientException("保存方法异常", e);
  45.                                 }
  46.                 }

  47.                 is.close();

  48.                         return true;
  49.                  }
复制代码
第五 完成




您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|学JAVA网

GMT+8, 2018-10-20 16:06 , Processed in 0.145920 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部