blob: 1d6ffd05ad109022eaacf2245ea68356ea061850 [file] [log] [blame]
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 };
}
}
}