NumberingFormat Class

Number Formats.When the object is serialized out as xml, its qualified name is x:numFmt.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlLeafElement
      DocumentFormat.OpenXml.Spreadsheet.NumberingFormat

Namespace:  DocumentFormat.OpenXml.Spreadsheet
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
Public Class NumberingFormat _
    Inherits OpenXmlLeafElement
'Usage
Dim instance As NumberingFormat
public class NumberingFormat : OpenXmlLeafElement

Remarks

[ISO/IEC 29500-1 1st Edition]

18.8.30 numFmt (Number Format)

This element specifies number format properties which indicate how to format and render the numeric value of a cell.

Following is a listing of number formats whose formatCode value is implied rather than explicitly saved in the file. In this case a numFmtId value is written on the xf record, but no corresponding numFmt element is written. Some of these Ids can be interpreted differently, depending on the UI language of the implementing application.

Ids not specified in the listing, such as 5, 6, 7, and 8, shall follow the number format specified by the formatCode attribute.

All Languages

ID

formatCode

0

General

1

0

2

0.00

3

#,##0

4

#,##0.00

9

0%

10

0.00%

11

0.00E+00

12

# ?/?

13

# ??/??

14

mm-dd-yy

15

d-mmm-yy

16

d-mmm

17

mmm-yy

18

h:mm AM/PM

19

h:mm:ss AM/PM

20

h:mm

21

h:mm:ss

22

m/d/yy h:mm

37

#,##0 ;(#,##0)

38

#,##0 ;[Red](#,##0)

39

#,##0.00;(#,##0.00)

40

#,##0.00;[Red](#,##0.00)

45

mm:ss

46

[h]:mm:ss

47

mmss.0

48

##0.0E+0

49

@

"General" Format

Some additional comments about the "General" number format are appropriate.

The primary goal when a cell is using "General" formatting is to render the cell content without user-specified guidance to the best ability of the application.

Alignment

(Specified for Left-to-Right mode)

Strings: left aligned

Boolean/error values: centered

Numbers: right aligned

Dates: do not follow the "General" format, instead automatically convert to date formatting.

Numbers

The application shall attempt to display the full number up to 11 digits (inc. decimal point). If the number is too large, the application shall attempt to show exponential format. If the number has too many significant digits, the display shall be truncated. The optimal method of display is based on the available cell width. If the number cannot be displayed using any of these formats in the available width, the application shall show "#" across the width of the cell.

Conditions for switching to exponential format:

The cell value shall have at least five digits for xE-xx

If the exponent is bigger than the size allowed, a floating point number cannot fit, so try exponential notation.

Similarly, for negative exponents, check if there is space for even one (non-zero) digit in floating point format.

Finally, if there isn't room for all of the significant digits in floating point format (for a negative exponent), exponential format shall display more digits if the exponent is less than -3. (The 3 is because E-xx takes 4 characters, and the leading 0 in floating point takes only 1 character. Thus, for an exponent less than -3, there is more than 3 additional leading 0's, more than enough to compensate for the size of the E-xx.)

Floating point rule:

For general formatting in cells, max overall length for cell display is 11, not including negative sign, but includes leading zeros and decimal separator.

zh-tw and zh-cn

ID

zh-tw formatCode

zh-cn formatCode

27

[$-404]e/m/d

yyyy"年"m"月"

28

[$-404]e"年"m"月"d"日"

m"月"d"日"

29

[$-404]e"年"m"月"d"日"

m"月"d"日"

30

m/d/yy

m-d-yy

31

yyyy"年"m"月"d"日"

yyyy"年"m"月"d"日"

32

hh"時"mm"分"

h"时"mm"分"

33

hh"時"mm"分"ss"秒"

h"时"mm"分"ss"秒"

34

上午/下午hh"時"mm"分"

上午/下午h"时"mm"分"

35

上午/下午hh"時"mm"分"ss"秒"

上午/下午h"时"mm"分"ss"秒"

36

[$-404]e/m/d

yyyy"年"m"月"

50

[$-404]e/m/d

yyyy"年"m"月"

51

[$-404]e"年"m"月"d"日"

m"月"d"日"

52

上午/下午hh"時"mm"分"

yyyy"年"m"月"

53

上午/下午hh"時"mm"分"ss"秒"

m"月"d"日"

54

[$-404]e"年"m"月"d"日"

m"月"d"日"

55

上午/下午hh"時"mm"分"

上午/下午h"时"mm"分"

56

上午/下午hh"時"mm"分"ss"秒"

上午/下午h"时"mm"分"ss"秒"

57

[$-404]e/m/d

yyyy"年"m"月"

58

[$-404]e"年"m"月"d"日"

m"月"d"日"

zh-tw and zh-cn (with unicode values provided for language glyphs where they occur)

ID

zh-tw formatCode

zh-cn formatCode

27

[$-404]e/m/d

yyyy"5E74"m"6708"

28

[$-404]e"5E74"m"6708"d"65E5"

m"6708"d"65E5"

29

[$-404]e"5E74"m"6708"d"65E5"

m"6708"d"65E5"

30

m/d/yy

m-d-yy

31

yyyy"5E74"m"6708"d"65E5"

yyyy"5E74"m"6708"d"65E5"

32

hh"6642"mm"5206"

h"65F6"mm"5206"

33

hh"6642"mm"5206"ss"79D2"

h"65F6"mm"5206"ss"79D2"

34

4E0A5348/4E0B5348hh"6642"mm"5206"

4E0A5348/4E0B5348h"65F6"mm"5206"

35

4E0A5348/4E0B5348hh"6642"mm"5206"ss"79D2"

4E0A5348/4E0B5348h"65F6"mm"5206"ss"79D2"

36

[$-404]e/m/d

yyyy"5E74"m"6708"

50

[$-404]e/m/d

yyyy"5E74"m"6708"

51

[$-404]e"5E74"m"6708"d"65E5"

m"6708"d"65E5"

52

4E0A5348/4E0B5348hh"6642"mm"5206"

yyyy"5E74"m"6708"

53

4E0A5348/4E0B5348hh"6642"mm"5206"ss"79D2"

m"6708"d"65E5"

54

[$-404]e"5E74"m"6708"d"65E5"

m"6708"d"65E5"

55

4E0A5348/4E0B5348hh"6642"mm"5206"

4E0A5348/4E0B5348h"65F6"mm"5206"

56

4E0A5348/4E0B5348hh"6642"mm"5206"ss"79D2"

4E0A5348/4E0B5348h"65F6"mm"5206"ss"79D2"

57

[$-404]e/m/d

yyyy"5E74"m"6708"

58

[$-404]e"5E74"m"6708"d"65E5"

m"6708"d"65E5"

ja-jp and ko-kr

ID

ja-jp formatCode

ko-kr formatCode

27

[$-411]ge.m.d

yyyy"年" mm"月" dd"日"

28

[$-411]ggge"年"m"月"d"日"

mm-dd

29

[$-411]ggge"年"m"月"d"日"

mm-dd

30

m/d/yy

mm-dd-yy

31

yyyy"年"m"月"d"日"

yyyy"년" mm"월" dd"일"

32

h"時"mm"分"

h"시" mm"분"

33

h"時"mm"分"ss"秒"

h"시" mm"분" ss"초"

34

yyyy"年"m"月"

yyyy-mm-dd

35

m"月"d"日"

yyyy-mm-dd

36

[$-411]ge.m.d

yyyy"年" mm"月" dd"日"

50

[$-411]ge.m.d

yyyy"年" mm"月" dd"日"

51

[$-411]ggge"年"m"月"d"日"

mm-dd

52

yyyy"年"m"月"

yyyy-mm-dd

53

m"月"d"日"

yyyy-mm-dd

54

[$-411]ggge"年"m"月"d"日"

mm-dd

55

yyyy"年"m"月"

yyyy-mm-dd

56

m"月"d"日"

yyyy-mm-dd

57

[$-411]ge.m.d

yyyy"年" mm"月" dd"日"

58

[$-411]ggge"年"m"月"d"日"

mm-dd

ja-jp and ko-kr (with unicode values provided for language glyphs where they occur)

ID

ja-jp formatCode

ko-kr formatCode

27

[$-411]ge.m.d

yyyy"5E74" mm"6708" dd"65E5"

28

[$-411]ggge"5E74"m"6708"d"65E5"

mm-dd

29

[$-411]ggge"5E74"m"6708"d"65E5"

mm-dd

30

m/d/yy

mm-dd-yy

31

yyyy"5E74"m"6708"d"65E5"

yyyy"B144" mm"C6D4" dd"C77C"

32

h"6642"mm"5206"

h"C2DC" mm"BD84"

33

h"6642"mm"5206"ss"79D2"

h"C2DC" mm"BD84" ss"CD08"

34

yyyy"5E74"m"6708"

yyyy-mm-dd

35

m"6708"d"65E5"

yyyy-mm-dd

36

[$-411]ge.m.d

yyyy"5E74" mm"6708" dd"65E5"

50

[$-411]ge.m.d

yyyy"5E74" mm"6708" dd"65E5"

51

[$-411]ggge"5E74"m"6708"d"65E5"

mm-dd

52

yyyy"5E74"m"6708"

yyyy-mm-dd

53

m"6708"d"65E5"

yyyy-mm-dd

54

[$-411]ggge"5E74"m"6708"d"65E5"

mm-dd

55

yyyy"5E74"m"6708"

yyyy-mm-dd

56

m"6708"d"65E5"

yyyy-mm-dd

57

[$-411]ge.m.d

yyyy"5E74" mm"6708" dd"65E5"

58

[$-411]ggge"5E74"m"6708"d"65E5"

mm-dd

th-th

ID

th-th formatCode

59

t0

60

t0.00

61

t#,##0

62

t#,##0.00

67

t0%

68

t0.00%

69

t# ?/?

70

t# ??/??

71

ว/ด/ปปปป

72

ว-ดดด-ปป

73

ว-ดดด

74

ดดด-ปป

75

ช:นน

76

ช:นน:ทท

77

ว/ด/ปปปป ช:นน

78

นน:ทท

79

[ช]:นน:ทท

80

นน:ทท.0

81

d/m/bb

th-th (with unicode values provided for language glyphs where they occur)

ID

th-th formatCode

59

t0

60

t0.00

61

t#,##0

62

t#,##0.00

67

t0%

68

t0.00%

69

t# ?/?

70

t# ??/??

71

0E27/0E14/0E1B0E1B0E1B0E1B

72

0E27-0E140E140E14-0E1B0E1B

73

0E27-0E140E140E14

74

0E140E140E14-0E1B0E1B

75

0E0A:0E190E19

76

0E0A:0E190E19:0E170E17

77

0E27/0E14/0E1B0E1B0E1B0E1B 0E0A:0E190E19

78

0E190E19:0E170E17

79

[0E0A]:0E190E19:0E170E17

80

0E190E19:0E170E17.0

81

d/m/bb

Parent Elements

dxf (§18.8.14); ndxf (§18.11.1.4); numFmts (§18.8.31); odxf (§18.11.1.6)

Attributes

Description

formatCode (Number Format Code)

The number format code for this number format.

The possible values for this attribute are defined by the ST_Xstring simple type (§22.9.2.19).

numFmtId (Number Format Id)

Id used by the master style records (xf's) to reference this number format.

The possible values for this attribute are defined by the ST_NumFmtId simple type (§18.18.47).

[Note: The W3C XML Schema definition of this element’s content model (CT_NumFmt) is located in §A.2. end note]

© ISO/IEC29500: 2008.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

NumberingFormat Members

DocumentFormat.OpenXml.Spreadsheet Namespace