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);
        }
Example #2
0
        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();
 }