读书人

Java 读取excel 资料

发布时间: 2012-07-04 19:33:55 作者: rapoo

Java 读取excel 文件

我用poi实现

doImport(String url) throws Exception{ FileInputStream  file=new FileInputStream(url);//获取excel文件 HSSFWorkbook hssfworkbook = new HSSFWorkbook(file); HSSFSheet hssfsheet = hssfworkbook.getSheetAt(0);//第一个工作表 Map<String, Object> map=new HashMap<String, Object>(); StringBuffer errorMessage=new StringBuffer();//错误信息 StringBuffer wornMessage=new StringBuffer();//警告信息 String str="";                 //遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数         ArrayList<MetadataPO> list=new ArrayList<MetadataPO>();//创建List 集合         MetadataPO mePo = null;         //列坐标                 Row row=null;         for(int j=1;j<hssfsheet.getPhysicalNumberOfRows();j++){        int t=j+1;//行坐标        //行坐标        int k=0;         mePo=new MetadataPO();         row = hssfsheet.getRow(j);         if(row==null){         wornMessage.append("提示:\n"+t+" 行没有数据。\n");         break;         }         /** *//**将EXCEL中的第 j 行,第一列的值插入到实例中*/        //获取第一行第一列         //1判断元数据名称                  if(row.getCell(k)==null){         errorMessage.append("错误提示:元数据名称不能为空 \n"+"错误:("+t+"行,"+1+"列)\n");         break;         }else{         //设置元数据名称,取消前后的空格         mePo.setName(row.getCell(k).getStringCellValue().trim());         }         k++;         //2元数据的中文名称         if(row.getCell(k).getStringCellValue().equals("")||row.getCell(k).getStringCellValue()==""||"null".equals(row.getCell(k).getStringCellValue())){         errorMessage.append("错误提示:元数据中文名称不能为空 \n"+"错误:("+t+"行,"+2+"列)\n");         break;         }else{         mePo.setDisplaylabelZh(row.getCell(k).getStringCellValue().trim());         }        ………………………N 行对数据的判断……………………………        list.add(mePo);         }                  int z=hssfsheet.getPhysicalNumberOfRows();         int nextLine=list.size()+1;         if(list.size()<z-1){         errorMessage.append("导入提示:\n"+"成功导入"+list.size()+"条数据,请根据提示检查第:"+nextLine+"行数据");         }else{         errorMessage.append("导入提示:\n"+"成功导入"+list.size()+"条数据");         }         map.put("dataList", list);         map.put("wornMessage", wornMessage);         map.put("errorMessage", errorMessage);         return map;         }

读书人网 >移动开发

热点推荐