zoukankan      html  css  js  c++  java
  • 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}");
              }
              }
  • 相关阅读:
    (视频) 《快速创建网站》 2.2 负载均衡简介和域名绑定操作
    (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制
    (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介
    (视频) 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
    【Flask教程01】helloworld程序
    如何在虚拟环境中安装工具包?
    如何使用虚拟环境?
    CentOS 使用ifconfig没有显示ip
    Python Web框架要点
    Python3.7&Django1.11.15 兼容性问题
  • 原文地址:https://www.cnblogs.com/ggq94/p/9732697.html
Copyright © 2011-2022 走看看