public IExcelCell SetFormattedStringValue(FormattedStringValue value) { var index = excelSharedStrings.AddSharedString(value); cell.CellValue = new CellValue(index.ToString(CultureInfo.InvariantCulture)); cell.DataType = new EnumValue <CellValues>(CellValues.SharedString); return(this); }
public uint AddSharedString(FormattedStringValue value) { var cacheItem = new SharedStringCacheItem(value); if (!cache.TryGetValue(cacheItem, out var result)) { if (sharedStringTable.UniqueCount == null) { sharedStringTable.UniqueCount = 0; } result = sharedStringTable.UniqueCount; sharedStringTable.UniqueCount++; sharedStringTable.AppendChild(cacheItem.ToSharedStringItem()); cache.Add(cacheItem, result); } return(result); }
public SharedStringCacheItem(FormattedStringValue value) { blocks = value.Blocks.Select(block => new FormattedStringValueBlockCacheItem(block)).ToArray(); }