private static PartInfo GetSheetPart(Stream s) { OPCPackage package = new OPCPackage(s); foreach (PartInfo pi in package.GetRelatedObjects()) { if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml") return pi; if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml") return pi; if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml") return pi; if (pi.GetContentType() == "application/vnd.ms-excel.intlmacrosheet+xml") return pi; if (pi.GetContentType() == "application/vnd.ms-excel.macrosheet+xml") return pi; } return null; }
public static bool DocumentContainsEmbeddedObjects(string sFileName) { List<string> PartInfoTargets = new List<string>(); // Beware circular relationships!! using (Stream s = new FileStream(sFileName, FileMode.Open)) { OPCPackage package = new OPCPackage(s); foreach (PartInfo pi in package.GetRelatedObjects()) { if (PartInfoContainsEmbeddedObjects(pi, ref PartInfoTargets)) return true; } } return false; }
static PartInfo GetDocumentPart(Stream s) { OPCPackage package = new OPCPackage(s); foreach (PartInfo pi in package.GetRelatedObjects()) { if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml") return pi; if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml") return pi; if (pi.GetContentType() == "application/vnd.ms-word.document.macroEnabled.main+xml") return pi; if (pi.GetContentType() == "application/vnd.ms-word.template.macroEnabledTemplate.main+xml") return pi; } return null; }
private static PartInfo GetPresentationPart(Stream s) { OPCPackage package = new OPCPackage(s); foreach (PartInfo pi in package.GetRelatedObjects()) { if (pi.GetContentType() == "application/vnd.ms-powerpoint.presentation.macroEnabled.main+xml") return pi; if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml") return pi; } return null; }