java解析excel解决excel类型问题

来源:互联网 发布:淘宝心如何升级 编辑:程序博客网 时间:2024/05/18 22:55

上篇文章java解析excel文件为txt文件介绍了利用poi解析excel文件,本篇文章将在上篇文章的基础上,介绍解析excel时遇到的类型问题如何解决。

//解决excel类型问题,获得数值      public  String getValue(Cell cell) {          String value = "";          if(null==cell){              return value;          }          switch (cell.getCellType()) {          //数值型          case Cell.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 {// 纯数字                  BigDecimal big=new BigDecimal(cell.getNumericCellValue());                  value = big.toString();                  //解决1234.0  去掉后面的.0                  if(null != value && !"".equals(value.trim())){                       String[] item = value.split("[.]");                       if(1<item.length&&"0".equals(item[1])){                           value=item[0];                       }                  }              }              break;              //字符串类型           case Cell.CELL_TYPE_STRING:              value = cell.getStringCellValue().toString();              break;          // 公式类型          case Cell.CELL_TYPE_FORMULA:              //读公式计算值              value = String.valueOf(cell.getNumericCellValue());              if (value.equals("NaN")) {// 如果获取的数据值为非法值,则转换为获取字符串                  value = cell.getStringCellValue().toString();              }              break;          // 布尔类型          case Cell.CELL_TYPE_BOOLEAN:              value = " "+ cell.getBooleanCellValue();              break;          // 空值          case Cell.CELL_TYPE_BLANK:               value = "";              LogUtil.getLogger().error("excel出现空值");              break;          // 故障          case Cell.CELL_TYPE_ERROR:               value = "";              LogUtil.getLogger().error("excel出现故障");              break;          default:              value = cell.getStringCellValue().toString();      }      if("null".endsWith(value.trim())){          value="";      }    return value;  }  
0 0
原创粉丝点击