您的位置:首页 > 其它

导入Excel表格数据

2016-04-25 16:26 357 查看
自己做的批量导入Excel数据,模板是自己拟定的,格式是文本格式。菜鸟新入行,勿喷,写这个只是为了自己以后忘记了能够快速找到解决的办法。

jsp页面:

         <form form id="myform" method="post" enctype="multipart/form-data"   action="freeMan!batchAdd.do" onSubmit="return batch()">

               <table width="100%" border="0" cellpadding="0" cellspacing="0"  class="table_style11">

                      <tr>

                             <td align="right">

                                  <s:text name="如果没有模板,请点击下载"></s:text> :

                              </td>

                              <td align="left">

                                  <a   href="${pageContext.request.contextPath}/upload/自由人管理.xlsx">下载模板 </a>

                              </td>

                       </tr>

                        <tr>

                               <td align="right">

                                     填写完成之后,请导入该Excel文件:

                               </td>

                              <td align="left">

                                     <input type="file" name="myFile" id="myFile" />

                                      <input type="hidden" name="fileName" id="fileName" value="" />     

                                       <input type="submit" value="导入信息" class="btn" size="40"  id="importBtn"  /> 

                                       <input type="button" name="btn" value="返回"  class="btn" onclick="history.go(-1)" />

                               </td>

                       </tr>

                </table>
            </form>

   action 后台方法:

  /**

     * 批量导入

     * @return

     */

    public String batchAdd(){

        //获取文件后缀

        String suffix = fileName.substring(fileName.lastIndexOf("."));

        if(suffix!=null&&".xls".equals(suffix)||".xlsx".equals(suffix)){

            ImportExeclUtil poi = new ImportExeclUtil();

            //获取execl表内的数据

            List<List<String>>list = poi.read(myFile);

            FreeMan freeMan=null;

            if(list!=null){

                for (int i = 0; i < list.size(); i++) {

                   //判断如果是第一行的话,跳过。

                    if(i==0){

                        continue;

                    }

                    else{

                    List<String> cells=list.get(i);

                    //把数据赋值给对象

                    if(cells!=null&&cells.size()>0){

                        freeMan=new FreeMan();

                        freeMan.setUserName(cells.get(0)!=null?cells.get(0):"");

                        freeMan.setUserPhone(cells.get(1)!=null?cells.get(1):"");

                        freeMan.setCardId(cells.get(2)!=null?cells.get(2):"");

                        freeMan.setMobile(cells.get(3)!=null?cells.get(3):"");

                        freeMan.setEmail(cells.get(4)!=null?cells.get(4):"");

                        freeMan.setBankCard(cells.get(5)!=null?cells.get(5):"");

                        freeMan.setAddress(cells.get(6)!=null?cells.get(6):"");

                        freeMan.setServiceArea(cells.get(7)!=null?cells.get(7):"");

                        freeMan.setPersonState(Integer.parseInt(cells.get(8)!=null?cells.get(8):""));

                        freeMan.setServiceScore(Double.parseDouble(cells.get(9)!=null?cells.get(9):""));

                        freeMan.setServiceCount(Integer.parseInt(cells.get(10)!=null?cells.get(10):""));

                        freeMan.setCapacityState(Integer.parseInt(cells.get(11)!=null?cells.get(11):""));

                        freeMan.setPersonalNote(cells.get(12)!=null?cells.get(12):"");

                        freeMan.setRemarks(cells.get(15)!=null?cells.get(15):"");

                        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间格式

                        try {

                            freeMan.setCreateDate(sdf.parse(cells.get(13)));

                        } catch (ParseException e) {

                            e.printStackTrace();

                        }

                        freeMan.setCreator(cells.get(14)!=null?cells.get(14):"");

                        //调用添加方法,批量添加。

                        freeManService.add(freeMan);

                    }

                }

            }

        }

    }

        return initList();//返回要返回的页面或方法

    }

                     

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel 批量导入 导入