Ejemplo n.º 1
0
        internal void Init(ExcelTableColumn column, string cacheName)
        {
            TableColumn = column;
            var wb = column.Table.WorkSheet.Workbook;

            CreatePart(wb);
            SlicerCacheXml.DocumentElement.InnerXml = $"<extLst><x:ext uri=\"{ExtLstUris.TableSlicerCacheUri}\" xmlns:x15=\"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main\"><x15:tableSlicerCache tableId=\"{column.Table.Id}\" column=\"{column.Id}\"/></x:ext></extLst>";
            TopNode    = SlicerCacheXml.DocumentElement;
            Name       = cacheName;
            SourceName = column.Name;
            SlicerCacheXml.Save(Part.GetStream(FileMode.Create, FileAccess.Write));
            CreateWorkbookReference(wb, ExtLstUris.WorkbookSlicerTableUri);
        }
Ejemplo n.º 2
0
        internal ExcelTableSlicer(ExcelDrawings drawings, XmlNode node, ExcelTableColumn column) : base(drawings, node)
        {
            TableColumn = column;
            if (column.Slicer == null)
            {
                column.Slicer = this;
            }
            var name = drawings.Worksheet.Workbook.GetSlicerName(column.Name);

            CreateDrawing(name);
            SlicerName = name;

            Caption   = column.Name;
            RowHeight = 19;
            CacheName = "Slicer_" + ExcelAddressUtil.GetValidName(name);

            var cache = new ExcelTableSlicerCache(NameSpaceManager);

            cache.Init(column, CacheName);
            _cache = cache;
        }