JAVA中EXLS导入功能实现 - 代码

Posted 牧雨丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中EXLS导入功能实现 - 代码相关的知识,希望对你有一定的参考价值。

JAVA中EXLS导入功能实现 - 代码:

 基于SSH框架下导入的流程及解析:

private File file;
    
    public synchronized File getFile() {
        return file;
    }
    public synchronized void setFile(File file) {
        this.file = file;
    }
/**
     * 导入exls 并解析
     * @throws Exception
     */
    public void inputfile() throws Exception{
        String text = (String) super.getRequest().getParameter("text");
        int flowid= 1415415;//(String)super.getRequest().getParameter("flowid");
          System.out.println("text>>"+text);
          System.out.println("files>>"+file);
          try {
              FileInputStream fs = new FileInputStream(file);
                  //             初始化一个工作簿
            HSSFWorkbook hwb = new HSSFWorkbook(fs);
            //             第一张表单
            HSSFSheet sheet = hwb.getSheetAt(0);
            HSSFRow row = null;
            int q=0;
            //遍历改行所有的行,j表示行数 getPhysicalNumberOfRows()表示得到行的总数
            for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) {
            row = sheet.getRow(j);
            //获取当前页
            sheet = hwb.getSheetAt(0);
//            获取首行属性名
            HSSFRow rows = sheet.getRow(0);
            String sql ="(rms.int_id.nextval,";
            String keysql="(int_id,";
            //遍历所有值
            for(int f=0;f<row.getLastCellNum();f++){
                String stringkey =String.valueOf( rows.getCell(f).getRichStringCellValue());
                //获取属性英文名
                String key=queryDataService.queryatr(stringkey,text);
                keysql +=""+key+",";
                String state=queryDataService.getAttributestate(text,key);
                
                //获取值
                String value =String.valueOf( row.getCell(f).getRichStringCellValue());
                
                //判断数据类型拼装sql
                if(("integer").equals(state)){
                    
                    sql +=""+value+",";
                    }else if(("datetosecond").equals(state)){
                    value=value.substring(0,value.length()-2);
                    sql +="to_date(‘"+value+"‘,‘yyyy-mm-dd hh24:mi:ss‘),";
                    }else{
                        sql +="‘"+value+"‘,";
                    }
            }
            keysql=keysql.substring(0,keysql.length()-1);
            keysql +=")";
            sql=sql.substring(0,sql.length()-1);
            sql +=")";
            
            String addSql=""+keysql+" values "+sql+"";
            q=queryDataService.addReviseData(addSql, text);
            
            }
            if(q>0){
                super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
                super.getResponse().getWriter().write("{"success":true}");
            }else{
            super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
            super.getResponse().getWriter().write("{"success":false}");
            }
          } catch (Exception e) {
           e.printStackTrace();
           super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
            super.getResponse().getWriter().write("{"success":false}");
          }
          }

 


以上是关于JAVA中EXLS导入功能实现 - 代码的主要内容,如果未能解决你的问题,请参考以下文章

如何用java导入Excel数据到数据库?

ASP.net MVC 代码片段问题中的 Jqgrid 实现

java读取exls日期 在excel内日期是“2014-11-22”但java输出“14-11-22”

IOS开发-OC学习-常用功能代码片段整理

Java itext为pdf 文件添加水印核心功能代码片段

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段