Consider a General format cell having a value of 39.95. When I fetch the CellFormat of the cell it returns wrong cell format-
CellFormat thisCellFormat = ((CellFormat)cellFmts.ChildElements[(int)thisCell.StyleIndex.Value]);
int fmtId = Convert.ToInt32(thisCellFormat.FormatId.Value);
The value of fmtId returned is 1, and in some cases 38, where it should be 2 or 39.
This issue is only for General format cells, I am getting correct id for Number format cells.
Below is the Standard ECMA-376 Office Open XML File Formats specified set of implied cell formats for reference-
ID Format Code
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
39 #,##0.00;(#,##0.00)
40 #,##0.00;Red
45 mm:ss
46 [h]:mm:ss
47 mmss.0
48 ##0.0E+0
49 @
thisCellFormat.ApplyNumberFormat
? - petelids