个人用到的

           String birthdayVal = null;
                                
                                        switch (cell_2.getCellTypeEnum()) {
                                            case STRING:  
                                                birthdayVal = cell_2.getRichStringCellValue().getString();  
                                                break;  
                                            case NUMERIC:  
                                                if("General".equals(cell_2.getCellStyle().getDataFormatString())){  
                                                    birthdayVal =DateToStr(HSSFDateUtil.getJavaDate(cell_2.getNumericCellValue()));  
                                                }else if("m/d/yy".equals(cell_2.getCellStyle().getDataFormatString())){  
                                                    birthdayVal = DateToStr(cell_2.getDateCellValue());  
                                                }else{  
                                                    birthdayVal = DateToStr(HSSFDateUtil.getJavaDate(cell_2.getNumericCellValue()));  
                                                }  
                                                break;  
                                            default:  
                                                x = i+1;
                                                throw new AWSForbiddenException("导入文件的第["+x+"]行的[出生年月]的格式有问题,请检查!",null);
                                           }

/**
    * 日期转换成字符串
    */
    public static String DateToStr(Date date) {
       java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
       String str = format.format(date);
       return str;
    }

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

poi3.5之前的版本

switch (cell.getCellType()) {
    case HSSFCell.CELL_TYPE_NUMERIC: // 数字
        //如果为时间格式的内容
        if (HSSFDateUtil.isCellDateFormatted(cell)) {      
           //注:format格式 yyyy-MM-dd hh:mm:ss 中小时为12小时制,若要24小时制,则把小h变为H即可,yyyy-MM-dd HH:mm:ss
           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
           value=sdf.format(HSSFDateUtil.getJavaDate(cell.
           getNumericCellValue())).toString();                                 
             break;
         } else {
             value = new DecimalFormat("0").format(cell.getNumericCellValue());
         }
        break;
    case HSSFCell.CELL_TYPE_STRING: // 字符串
        value = cell.getStringCellValue();
        break;
    case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
        value = cell.getBooleanCellValue() + "";
        break;
    case HSSFCell.CELL_TYPE_FORMULA: // 公式
        value = cell.getCellFormula() + "";
        break;
    case HSSFCell.CELL_TYPE_BLANK: // 空值
        value = "";
        break;
    case HSSFCell.CELL_TYPE_ERROR: // 故障
        value = "非法字符";
        break;
    default:
        value = "未知类型";
        break;
}

poi3.5以后版本

switch (cell.getCellTypeEnum()) {  
    case STRING:  
        value = cell.getRichStringCellValue().getString();  
        break;  
    case NUMERIC:  
        if("General".equals(cell.getCellStyle().getDataFormatString())){  
            value = df.format(cell.getNumericCellValue());  
        }else if("m/d/yy".equals(cell.getCellStyle().getDataFormatString())){  
            value = sdf.format(cell.getDateCellValue());  
        }else{  
            value = df2.format(cell.getNumericCellValue());  
        }  
        break;  
    case BOOLEAN:  
        value = cell.getBooleanCellValue();  
        break;  
    case BLANK:  
        value = "";  
        break;  
    default:  
        value = cell.toString();  
        break;  
    }

POI Excel 单元格内容类型判断并取值的更多相关文章

  1. poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

    POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...

  2. Excel单元格内容太多会覆盖遮住下一单元格范围

    Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设 ...

  3. excel 单元格内容太多,替换有问题

    excel 单元格内容太多,替换有问题

  4. Excel单元格内容拆分、合并

    例:如何将EXCEL单元格A1中的“1-2-1”,在B1.C1.D1单元格中分别显示”1“.”2“.”1“.方法一: 在B1中输入“=mid(A1,1,1)”在C1中输入“=mid(AI,3,1)”在 ...

  5. excel单元格内容拆分

    这几天在整理数据,但是数据都在表格的一个单元格中,看起来很不方法,所以在网上找到excel单元格内如拆分的方法,并亲测有效 介绍2种拆分的方法 方法一: (1)在B1输入公式=right(text,[ ...

  6. 使用poi导出Excel,并设定单元格内容类型,抛出异常

    本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...

  7. java POI Excel 单元格样式

    正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. 1 package com.my ...

  8. Excel单元格内容批量加前缀

    比如83190001在A1单元格,要在A列单元内容前面批量加0,在B1输入公式="0"&A1然后向下复制再把B列复制的结果再复制一下:然后到新的一列粘贴,在“粘贴选项”中选 ...

  9. excel单元格内容合并

    这几天在整理数据,有时候数据都在表格的不同单元格中,想把两格内容合并为一格,于是验证了两种方法 方法一: (1)在B1输入公式=A1&B1 (2)做完第一步后,选中B1后,鼠标移到单元格右下出 ...

随机推荐

  1. JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数

    JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...

  2. 在Winform框架界面中改变并存储界面皮肤样式

    在本篇介绍的Winform界面样式改变及存储操作中,是指基于DevExpress进行界面样式的变化.一般情况下,默认我们会为客户提供多种DevExpress的界面皮肤以供个人喜好选择,默认DevExp ...

  3. Android开发之自定义万能BaseAdapter

    话不多说哦,直接上模板: package com.zyzpp.adapter; import android.content.Context; import android.util.SparseAr ...

  4. 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP

    阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...

  5. ASP.NET Core 和 ASP.NET Framework 共享 Identity 身份验证

    .NET Core 已经热了好一阵子,1.1版本发布后其可用性也越来越高,开源.组件化.跨平台.性能优秀.社区活跃等等标签再加上"微软爸爸"主推和大力支持,尽管现阶段对比.net ...

  6. 九、xadmin菜单分组管理

    有的时候,我们的菜单很多很杂,想要把菜单进行分组以方便管理,如下 前一篇博文已经详细讲解了如何菜单自定义排序,自定义分组和排序其实写法类似: 要实现上面这个功能,分为以下几步: 1. 我们需要定义一个 ...

  7. H5 13-子元素选择器

    13-子元素选择器 p{ color: red; } */ /* #identity>p{ color: blue; } */ div>ul>li>p{ color: purp ...

  8. Vue2 实现树形菜单(多级菜单)功能模块

    结构示意图 ├── index.html ├── main.js ├── router │ └── index.js # 路由配置文件 ├── components # 组件目录 │ ├── App. ...

  9. centos6 yum 安装memcached

    centos6 yum 安装memcached - 像块石头 - 博客园http://www.cnblogs.com/rockee/archive/2012/08/01/2619160.html yu ...

  10. CSS自定义属性expression_r

    CSS的出现使网页制作者在对网页元素的控制方便许多,当然,有利必有弊,CSS只能对颜色.大小.距离等静态样式有效,对于要实现某些html元素的动态样式就显得有些力不从心.有了CSS的自定义属性expr ...