public FontStyleCacheItem(ExcelCellFontStyle style) { size = style.Size; color = style.Color == null ? null : new ColorCacheItem(style.Color); underlined = style.Underlined; bold = style.Bold; }
public uint AddFont(ExcelCellFontStyle style) { if (style == null) { return(0); } var cacheItem = new FontStyleCacheItem(style); if (cache.TryGetValue(cacheItem, out var result)) { return(result); } if (stylesheet.Fonts == null) { var fonts = new Fonts { Count = new UInt32Value(0u) }; if (stylesheet.NumberingFormats != null) { stylesheet.InsertAfter(fonts, stylesheet.NumberingFormats); } else { stylesheet.InsertAt(fonts, 0); } } result = stylesheet.Fonts.Count; stylesheet.Fonts.AppendChild(cacheItem.ToFont()); stylesheet.Fonts.Count++; cache.Add(cacheItem, result); return(result); }