1. 程式人生 > >POI對Excel的單元格格式區分

POI對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種內建的資料格式,如下面所示。

 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

在上面表中,字串型別所對應的是資料格式為"@"(最後一行),也就是HSSFDataFormat中定義的值為0x31(49)的那行。Date型別的值的範圍是0xe-0x11,本例子中的Date格式為""m/d/yy"",在HSSFDataFormat定義的值為0xe(14)。