• EXCL poi导入


        public static void importExcel2(File file) throws Exception {
            InputStream is = new FileInputStream(file); 
            Workbook workbook;
            try {
                if(file.getName().indexOf(".xlsx")>-1){
                    workbook = new XSSFWorkbook(is);
                } else {
                    workbook = new HSSFWorkbook(is);
                }
                //HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); //2003 创建对Excel工作簿文件的引用
                //XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(fileToBeRead)); //2007,2010 创建对Excel工作簿文件的引用
                Sheet sheet = workbook.getSheetAt(0);//创建对工作表的引用
                int rows = sheet.getPhysicalNumberOfRows();// 获取表格的
                for (int r = 1; r < rows; r++) { // 循环遍历表格的行
                    String value = null ;
                    Row row = sheet.getRow(r); // 获取单元格中指定的行对象
                    if (row != null) {
                        int cells = row.getPhysicalNumberOfCells();// 获取单元格中指定列对象
                        System.out.println(cells+"列数。。。");
    //                    for (short c = 0; c < cells; c++) { // 循环遍历单元格中的列
    //                        Cell cell = row.getCell((short) c); // 获取指定单元格中的列
    //                        if (cell != null) {
    //                            if (cell.getCellType() == Cell.CELL_TYPE_STRING) { // 判断单元格的值是否为字符串类型
    //                            //    value += cell.getStringCellValue() + ",";
    //                                System.out.println(cell.getStringCellValue()+"==="+cell.getCellType());
    //                            } else if(cell.getCellType() == Cell.CELL_TYPE_NUMERIC){
    //                                System.out.println(cell.getDateCellValue()+"==="+cell.getCellType());
    //                                //DateUtil.isCellInternalDateFormatted(arg0);
    //                            }
    //                            
    //                        }
    //                    }
                        CaseInfor caseInfor=new CaseInfor();
                        if(row.getCell(0)!=null&&row.getCell(0).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.title=row.getCell(0).getStringCellValue();
                        }
                        if(row.getCell(1)!=null){
                            if(row.getCell(1)!=null&&isCellDateFormatted(row.getCell(1))){
                                caseInfor.acceptTime=row.getCell(1).getDateCellValue();
                            }else{flash.put("error", "受理时间非日期格式");
                            list(null,null);}
                        }
                        if(row.getCell(2)!=null){
                            if(isCellDateFormatted(row.getCell(2))){
                                caseInfor.deadTime=row.getCell(2).getDateCellValue();
                            }else{flash.put("error", "办案期限非日期格式");
                            list(null,null);}
                        }
                        if(row.getCell(3)!=null&&row.getCell(3).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.department=row.getCell(3).getStringCellValue();
                        }
                        if(row.getCell(4)!=null&&row.getCell(4).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.process=row.getCell(4).getStringCellValue();
                        }
                        if(row.getCell(5)!=null&&row.getCell(5).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.account=row.getCell(5).getStringCellValue();
                        }
                        if(row.getCell(6)!=null&&row.getCell(6).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.information=row.getCell(6).getStringCellValue();
                            System.out.println(row.getCell(6).getStringCellValue());
                        }
                        if(row.getCell(7)!=null&&row.getCell(7).getCellType()==Cell.CELL_TYPE_STRING){
                            caseInfor.mandatory=row.getCell(7).getStringCellValue();
                        }
                        caseInfor.save();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            flash.put("success", "导入成功");
               list(null,null);
        }
        public static boolean isCellDateFormatted(Cell cell) {  
            if (cell == null) return false;  
            boolean bDate = false;  
            if(cell.getCellType() == Cell.CELL_TYPE_NUMERIC){
                 double d = cell.getNumericCellValue();  
                 if ( DateUtil.isValidExcelDate(d) ) {  
                     CellStyle style = cell.getCellStyle();  
                     if(style==null) return false;  
                     int i = style.getDataFormat();  
                     String f = style.getDataFormatString();  
                     bDate = DateUtil.isADateFormat(i, f);  
                 }  
            }
            return bDate;  
        } 
  • 相关阅读:
    JMeter参数化及断言的使用
    JMeter基础概念
    postman关联
    postman参数化
    postman发送请求的简单操作
    postman的简单介绍及运用
    javascript小记五则:用JS写一个图片左右自由滚动的“跑马灯”效果
    javascript小记四则:用JS写一个滚动横条文字,可以根据需要进行修改;
    javascript小记三则:ASP.NET启动web调试,窗体自动放大的方法
    JavaScript小记二则:接上一节:用.net写Textbox控件关于数字的判断的另一则方法
  • 原文地址:https://www.cnblogs.com/kedoudejingshen/p/3856161.html
Copyright © 2020-2023  润新知