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;
	         }

你可能感兴趣的:(Excel)