public ExcelExternalFiles(ExcelPackage package, XmlNamespaceManager namespaceManager) : base(namespaceManager) { BaseDirectory = package.File?.DirectoryName; ExternalFileUri = new Dictionary <int, Uri>(); Uri externalLinkUri = new Uri($"xl/externalLinks/externalLink1.xml", UriKind.Relative); var i = 1; while (package.Package.PartExists(externalLinkUri)) { XmlDocument externalLinkXml = new XmlDocument(); ZipPackagePart zipPackagePart = package.Package.GetPart(externalLinkUri); LoadXmlSafe(externalLinkXml, zipPackagePart.GetStream()); TopNode = externalLinkXml.DocumentElement; string rId = GetXmlNodeString("/d:externalLink/d:externalBook/@r:id"); if (zipPackagePart.TryGetRelationshipById(rId, out var relation)) { ExternalFileUri.Add(i, relation.TargetUri); } i++; externalLinkUri = new Uri($"xl/externalLinks/externalLink{i}.xml", UriKind.Relative); } }