码迷,mamicode.com
首页 > 其他好文 > 详细

poi excel批量导入 解决各类型的数据

时间:2014-07-10 20:30:56      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:poi批量导入各类型数据

String value=this.getValue((HSSFCell) row.getCell(position))

 

数字类型  时间类型 字符串类型验证没问题,

数字类型如果是1234.0会将其变成1234  如果是1234.5保存仍然保持小数位1234.5,用来解决电话号码和普通数字问题

时间类型将其格式化成了 2015-12-09 12:13:12这种格式便于保存数据库

		//解决类型问题,获得数值
		public  String getValue(HSSFCell cell) {
			String value = "";
			if(null==cell){
				return value;
			}
			switch (cell.getCellType()) {
			 	//数值型
		  		case HSSFCell.CELL_TYPE_NUMERIC:
		  			if (HSSFDateUtil.isCellDateFormatted(cell)) {
					    //如果是date类型则 ,获取该cell的date值,并进行格式化
		  				Date date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
		  				SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
					    value = format.format(date);;
		  			}else {// 纯数字
		  				value = String.valueOf(cell.getNumericCellValue());
		  				//解决1234.0  去掉后面的.0
		  				if(null!=value&&!"".equals(value.trim())){
		  				     String[] item = value.split("[.]");
		  				     if(1<item.length&&"0".equals(item[1])){
		  				    	 value=item[0];
		  				     }
		  				}
		  			}
		  			System.out.println(value);
		  			break;
		  			//字符串类型 
		  		case HSSFCell.CELL_TYPE_STRING:
		  			value = cell.getStringCellValue().toString();
		  			break;
		  		// 公式类型
		  		case HSSFCell.CELL_TYPE_FORMULA:
		  			//读公式计算值
		  			value = String.valueOf(cell.getNumericCellValue());
		  			if (value.equals("NaN")) {// 如果获取的数据值为非法值,则转换为获取字符串
		  				value = cell.getStringCellValue().toString();
		  			}
		  			break;
		  		// 布尔类型
		  		case HSSFCell.CELL_TYPE_BOOLEAN:
		  			value = " "+ cell.getBooleanCellValue();
		  			break;
		  		// 空值
		  		case HSSFCell.CELL_TYPE_BLANK: 
		  			value = "";
		  			LogUtil.getLogger().error("excel出现空值");
		  			break;
		  		// 故障
		  		case HSSFCell.CELL_TYPE_ERROR: 
		  			value = "";
		  			LogUtil.getLogger().error("excel出现故障");
		  			break;
		  		default:
		  			value = cell.getStringCellValue().toString();
			}
			if("null".endsWith(value.trim())){
				value="";
			}
		  return value;
		}


 

poi excel批量导入 解决各类型的数据,布布扣,bubuko.com

poi excel批量导入 解决各类型的数据

标签:poi批量导入各类型数据

原文地址:http://blog.csdn.net/myfmyfmyfmyf/article/details/37592731

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!