POI對Excel的單元格格式區分
阿新 • • 發佈:2019-02-06
圖中的資料有數值、貨幣、時間、日期、文字等格式。這些資料格式在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)。
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)。