poi处理单元格不同类型的取值,升级版!

本文介绍了一种处理Excel文件中不同类型的单元格值的方法,包括数字、字符串、布尔值、公式等,并针对科学计数法进行了特别处理,确保了数据的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为要做excel的导入导出,发现再导入的时候总是因为科学计数法,公式什么的导致没有取到正确的值,在网上也找到了一些,但是发现都是旧版本的,因此看了一下阿帕奇poi的官方文档进行了一些修改。

下面的是在网上查找的,地址是http://blog.sina.com.cn/s/blog_69398ed90102wdl7.html,时间是2016年

public static String getValue(HSSFCell cell){
 if (null != cell) {     
          switch (cell.getCellType()) {     
          case HSSFCell.CELL_TYPE_NUMERIC: // 数字     
             return cell.getNumericCellValue()     
                      + "   ";     
          case HSSFCell.CELL_TYPE_STRING: // 字符串     
              return cell.getStringCellValue()     
                      + "   ";     
          case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean     
              return cell.getBooleanCellValue()     
                      + "   ";     
          case HSSFCell.CELL_TYPE_FORMULA: // 公式     
              return cell.getCellFormula() + "   ";     
          case HSSFCell.CELL_TYPE_BLANK: // 空值     
              return "";    
          case HSSFCell.CELL_TYPE_ERROR: // 故障     
            return "";
          default:     
              return "未知类型   ";     
          }     
      }else{
     return "";
      } 
  }
下面这个是自己修改的
public String getValue(XSSFCell cell) {
if (null != cell) {
switch (cell.getCellTypeEnum()) {
case NUMERIC: // 数字
DecimalFormat df = new DecimalFormat("0");//处理科学计数法
String val = df.format(cell.getNumericCellValue());
return val;
case STRING: // 字符串
return cell.getStringCellValue() + "";
case BOOLEAN: // Boolean
return cell.getBooleanCellValue() + "";
case FORMULA: // 公式
return cell.getCellFormula() + "   ";
case BLANK: // 空值
return "";
case ERROR: // 故障
return "";
default:
return "未知类型   ";
}
} else {
return "";
}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值