java excel 单元格类型,POI Excel 单元格内容类型判断并取值

个人用到的

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 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

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

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

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

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

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

Excel单元格内容拆分、合并

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

excel单元格内容拆分

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

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

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

Excel单元格内容批量加前缀

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

excel单元格内容合并

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

poi 取excel单元格内容时,需要判断单元格的类型,才能正确取出

以下内容非原创,原文链接http://blog.sina.com.cn/s/blog_4b5bc01101015iuq.html ate String getCellValue(HSSFCell ce ...

随机推荐

django 项目的文件说明

参见官方教程的mysite项目 mysite--- manage.py db.sqlite3 #数据库文件 mysite--- #项目文件夹 __init__.py settings.py urls. ...

MyBatis学习 之 四、MyBatis配置文件

目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...

Codeforces Gym 100733H Designation in the Mafia flyod

Designation in the MafiaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...

IOS图片的两种处理:加阴影和变灰色

#import //图片阴影 UIImageView *img; [[img layer] setShadowOffset:CGSize ...

ArcGis——好好的属性表,咋就乱码了呢?

我就瞎说一下,反正你也不懂. ——见到许多ArcGis属性表乱码的问题,也见过各种哭笑不得的解说 目录 第一节 字符编码那些事儿→字符编码简述 第二节 都是编码惹的祸→ArcGis属性表出错原因 第三 ...

【CF526G】Spiders Evil Plan(贪心)

[CF526G]Spiders Evil Plan(贪心) 题面 洛谷 CodeForces 给定一棵树,要求选择\(y\)条链,满足被链覆盖的所有点在树上联通,且\(x\)必定在联通块中. 对于每次 ...

vux (scroller)上拉刷新、下拉加载更多

1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性

Ubuntu下安装phpMyAdmin

首先添加必要的apt源 1 apt-get update 确保软件包列表是最新的 apt-get upgrade 更新软件包 安装phpMyAdmin apt-get install phpmyadm ...

C. Permute Digits dfs大模拟

http://codeforces.com/contest/915/problem/C 这题麻烦在前导0可以直接删除,比如 1001 100 应该输出11就好 我的做法是用dfs,每一位每一位的比较. ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值