private bool WriteStyleNumberFormatXml(StreamWriter writer, NumberFormat format, bool writeEmpty, int id, int?styleId) { var convertedFormat = ConvertNumberFormat(format); if (convertedFormat.Item1 == -2) { writer.Write($"<numFmt numFmtId=\"{id}\" formatCode=\"{XmlHelper.Escape(convertedFormat.Item2)}\"/>"); if (styleId != null) { _StyleIdNumberFormatIdMap[styleId.Value] = id; } return(true); } else if (convertedFormat.Item1 == -1) { if (writeEmpty) { writer.Write($"<numFmt numFmtId=\"0\"/>"); } if (styleId != null) { _StyleIdNumberFormatIdMap[styleId.Value] = -1; } return(false); } else { if (styleId != null) { _StyleIdNumberFormatIdMap[styleId.Value] = convertedFormat.Item1; } return(false); } }
private (int, string) ConvertNumberFormat(NumberFormat format) { switch (format.Type) { default: case NumberFormatType.General: return(0, null); case NumberFormatType.None: return(-1, null); case NumberFormatType.Custom: return(-2, format.Custom); case NumberFormatType.GeneralNumber: return(0, null); case NumberFormatType.GeneralDate: return(22, null); case NumberFormatType.ShortDate: return(13, null); case NumberFormatType.MediumDate: return(14, null); case NumberFormatType.LongDate: return(-2, "[$]dddd, mmmm d, yyyy;@"); case NumberFormatType.ShortTime: return(19, null); case NumberFormatType.MediumTime: return(17, null); case NumberFormatType.LongTime: return(18, null); case NumberFormatType.Fixed: return(1, null); case NumberFormatType.Standard: return(3, null); case NumberFormatType.Percent: return(10, null); case NumberFormatType.Scientific: return(47, null); case NumberFormatType.YesNo: return(-2, "\"Yes\";\"Yes\";\"No\""); case NumberFormatType.TrueFalse: return(-2, "\"True\";\"True\";\"False\""); case NumberFormatType.OnOff: return(-2, "\"On\";\"On\";\"Off\""); } }
private string ConvertNumberFormat(NumberFormat format) { switch (format.Type) { default: case NumberFormatType.General: return("General"); case NumberFormatType.Custom: return(format.Custom); case NumberFormatType.GeneralNumber: return("General Number"); case NumberFormatType.GeneralDate: return("General Date"); case NumberFormatType.ShortDate: return("Short Date"); case NumberFormatType.MediumDate: return("Medium Date"); case NumberFormatType.LongDate: return("Long Date"); case NumberFormatType.ShortTime: return("Short Time"); case NumberFormatType.MediumTime: return("Medium Time"); case NumberFormatType.LongTime: return("[$]dddd, mmmm d, yyyy;@"); case NumberFormatType.Fixed: return("Fixed"); case NumberFormatType.Standard: return("Standard"); case NumberFormatType.Percent: return("Percent"); case NumberFormatType.Scientific: return("Scientific"); case NumberFormatType.YesNo: return("Yes/No"); case NumberFormatType.TrueFalse: return("True/False"); case NumberFormatType.OnOff: return("On/Off"); } }