poi操作officePOI操作excel中的数据格式(日期类型)
2013-07-19 18:20
225 查看
7.3.3 POI中Excel文件Cell的类型
在读取每一个Cell的值的时候,通过getCellType方法获得当前Cell的类型,在Excel中Cell有6种类型,如表7-3所示。表7-3 Cell的类型
CellType | 说明 |
CELL_TYPE_BLANK | 空值 |
CELL_TYPE_BOOLEAN | 布尔型 |
CELL_TYPE_ERROR | 错误 |
CELL_TYPE_FORMULA | 公式型 |
CELL_TYPE_STRING | 字符串型 |
CELL_TYPE_NUMERIC | 数值型 |
实际上Excel的数据格式有很多,还支持用户自定义的类型,在Excel中,选择一个单元格然后右键选择“设置单元格格式”,在弹出的单元格格式中选中“数字”,如图7-14所示。
图7-14 Excel的单元格格式
图中的数据有数值、货币、时间、日期、文本等格式。这些数据格式在POI中的HSSFDataFormat类里都有相应的定义。
HSSFDataFormat是HSSF子项目里面定义的一个类。类HSSFDataFormat允许用户新建数据格式类型。HSSFDataFormat类包含静态方法static java.lang.String getBuiltinFormat(short index),它可以根据编号返回内置数据类型。另外static short getBuiltinFormat(java.lang.String format)方法则可以根据数据类型返回其编号,static java.util.List getBuiltinFormats()可以返回整个内置的数据格式列表。
在HSSFDataFormat里一共定义了49种内置的数据格式,如表7-4所示。
表7-4 HSSFDataFormat的数据格式
内置数据类型 | 编号 |
"General" | 0 |
"0" | 1 |
"0.00" | 2 |
"#,##0" | 3 |
"#,##0.00" | 4 |
"($#,##0_);($#,##0)" | 5 |
"($#,##0_);[Red]($#,##0)" | 6 |
"($#,##0.00);($#,##0.00)" | 7 |
"($#,##0.00_);[Red]($#,##0.00)" | 8 |
"0%" | 9 |
"0.00%" | 0xa |
"0.00E+00" | 0xb |
"# ?/?" | 0xc |
"# ??/??" | 0xd |
"m/d/yy" | 0xe |
"d-mmm-yy" | 0xf |
"d-mmm" | 0x10 |
"mmm-yy" | 0x11 |
"h:mm AM/PM" | 0x12 |
"h:mm:ss AM/PM" | 0x13 |
"h:mm" | 0x14 |
"h:mm:ss" | 0x15 |
"m/d/yy h:mm" | 0x16 |
保留为过国际化用 | 0x17 - 0x24 |
"(#,##0_);(#,##0)" | 0x25 |
"(#,##0_);[Red](#,##0)" | 0x26 |
"(#,##0.00_);(#,##0.00)" | 0x27 |
"(#,##0.00_);[Red](#,##0.00)" | 0x28 |
"_($*#,##0_);_($*(#,##0);_($* /"-/"_);_(@_)" | 0x29 |
"_(*#,##0.00_);_(*(#,##0.00);_(*/"-/"??_);_(@_)" | 0x2a |
"_($*#,##0.00_);_($*(#,##0.00);_($*/"-/"??_);_(@_)" | 0x2b |
"_($*#,##0.00_);_($*(#,##0.00);_($*/"-/"??_);_(@_)" | 0x2c |
"mm:ss" | 0x2d |
"[h]:mm:ss" | 0x2e |
"mm:ss.0" | 0x2f |
"##0.0E+0" | 0x30 |
"@" - This is text format | 0x31 |
需要注意的一点是,所创建的Excel必须是在Microsoft Excel 97到Excel XP的版本上的,如果在Excel 2003中创建文件后,在使用POI进行解析时,可能会出现问题。它会把Date类型当作自定义类型。POI目前只提供对Microsoft Excel XP以下的版本的支持,在以后的版本中,希望会提供对Microsoft Excel 2003更好的支持。
相关文章推荐
- poi操作officePOI操作excel中的数据格式(日期类型)
- java通过poi读取excel中的日期类型数据或自定义类型日期
- java poi读取excel日期格式数据
- 14、java实现poi操作excel,包括读和写日期格式,并且设置字体样式
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- POI处理excel文件中的日期格式数据bug的解决思路及方法
- 【JAVA】apache poi excel 文件读取,各种数据类型,不规则excel格式都可以读取
- 如何使用POI处理Excel中的日期数据类型
- POI操作excel中的日期格式处理
- POI操作excel中的日期格式处理
- java poi读取excel日期格式数据
- POI处理Excel中的日期数据类型
- 14、java实现poi操作excel,包括读和写日期格式,并且设置字体样式
- 【JAVA】apache poi excel 文件读取,各种数据类型,不规则excel格式都可以读取
- POI:操作EXCEL出现的单元格格式丢失问题的解决方案