|  | using System; | 
|  | using System.Collections.Generic; | 
|  | using System.Linq; | 
|  | using System.Text; | 
|  | using System.Xml; | 
|  |  | 
|  | namespace OfficeOpenXml.Style.Dxf | 
|  | { | 
|  | public class ExcelDxfNumberFormat : DxfStyleBase<ExcelDxfNumberFormat> | 
|  | { | 
|  | public ExcelDxfNumberFormat(ExcelStyles styles) : base(styles) | 
|  | { | 
|  |  | 
|  | } | 
|  | int _numFmtID=int.MinValue; | 
|  | /// <summary> | 
|  | /// Id for number format | 
|  | /// | 
|  | /// Build in ID's | 
|  | /// | 
|  | /// 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  @ | 
|  | /// </summary> | 
|  | public int NumFmtID | 
|  | { | 
|  | get | 
|  | { | 
|  | return _numFmtID; | 
|  | } | 
|  | internal set | 
|  | { | 
|  | _numFmtID = value; | 
|  | } | 
|  | } | 
|  | string _format=""; | 
|  | public string Format | 
|  | { | 
|  | get | 
|  | { | 
|  | return _format; | 
|  | } | 
|  | set | 
|  | { | 
|  | _format = value; | 
|  | NumFmtID = ExcelNumberFormat.GetFromBuildIdFromFormat(value); | 
|  | } | 
|  | } | 
|  |  | 
|  | protected internal override string Id | 
|  | { | 
|  | get | 
|  | { | 
|  | return Format; | 
|  | } | 
|  | } | 
|  |  | 
|  | protected internal override void CreateNodes(XmlHelper helper, string path) | 
|  | { | 
|  | if (NumFmtID < 0 && !string.IsNullOrEmpty(Format)) | 
|  | { | 
|  | NumFmtID = _styles._nextDfxNumFmtID++; | 
|  | } | 
|  | helper.CreateNode(path); | 
|  | SetValue(helper, path + "/@numFmtId", NumFmtID); | 
|  | SetValue(helper, path + "/@formatCode", Format); | 
|  | } | 
|  | protected internal override bool HasValue | 
|  | { | 
|  | get | 
|  | { | 
|  | return !string.IsNullOrEmpty(Format); | 
|  | } | 
|  | } | 
|  | protected internal override ExcelDxfNumberFormat Clone() | 
|  | { | 
|  | return new ExcelDxfNumberFormat(_styles) { NumFmtID = NumFmtID, Format = Format }; | 
|  | } | 
|  | } | 
|  | } |