示例#1
0
        private static XmlNode GetThemesXmlTopNode(ExcelPackage package)
        {
            ZipPackageRelationship zipPackageRelationship =
                package.Workbook.Part.GetRelationshipsByType(ExcelPackage.schemaRelationships + "/theme").FirstOrDefault();

            if (zipPackageRelationship == null)
            {
                return(null);
            }

            var partUri = new Uri($"/xl/{zipPackageRelationship.TargetUri}", UriKind.Relative);

            return(!package.Package.PartExists(partUri) ? null : package.GetXmlFromUri(partUri).DocumentElement);
        }
示例#2
0
        internal ExcelThemeBase(ExcelPackage package, XmlNamespaceManager nsm, ZipPackageRelationship rel, string path)
            : base(nsm, null)
        {
            ThemeUri       = UriHelper.ResolvePartUri(rel.SourceUri, rel.TargetUri);
            Part           = package.ZipPackage.GetPart(ThemeUri);
            RelationshipId = rel.Id;
            ThemeXml       = new XmlDocument();
            LoadXmlSafe(ThemeXml, Part.GetStream());
            TopNode = ThemeXml.DocumentElement;

            _colorSchemePath = string.Format(_colorSchemePath, path);
            _fontSchemePath  = string.Format(_fontSchemePath, path);
            _fmtSchemePath   = string.Format(_fmtSchemePath, path);
            _pck             = package;
            _hashes          = new Dictionary <string, HashInfo>();
            if (!NameSpaceManager.HasNamespace("a"))
            {
                NameSpaceManager.AddNamespace("a", ExcelPackage.schemaDrawings);
            }
        }
        public PivotTableCacheInternal(ExcelWorkbook wb, Uri uri, int cacheId) : base(wb.NameSpaceManager)
        {
            _wb = wb;
            CacheDefinitionUri = uri;
            Part = wb._package.ZipPackage.GetPart(uri);

            CacheDefinitionXml = new XmlDocument();
            LoadXmlSafe(CacheDefinitionXml, Part.GetStream());
            TopNode = CacheDefinitionXml.DocumentElement;
            CacheId = cacheId;

            ZipPackageRelationship rel = Part.GetRelationshipsByType(ExcelPackage.schemaRelationships + "/pivotCacheRecords").FirstOrDefault();

            if (rel != null)
            {
                CacheRecordUri = UriHelper.ResolvePartUri(rel.SourceUri, rel.TargetUri);
            }

            _wb.SetNewPivotCacheId(cacheId);
        }
示例#4
0
 internal ExcelTheme(ExcelWorkbook workbook, ZipPackageRelationship rel)
     : base(workbook._package, workbook.NameSpaceManager, rel, "a:themeElements/")
 {
     _workbook = workbook;
 }
示例#5
0
 internal ExcelThemeOverride(ExcelChart chart, ZipPackageRelationship rel)
     : base(chart._drawings._package, chart.NameSpaceManager, rel, "")
 {
     _chart = chart;
 }