Share via


OpenXmlPackage Class

Definition

Represents a base class for strong typed Open XML document classes.

public abstract class OpenXmlPackage : DocumentFormat.OpenXml.Packaging.OpenXmlPartContainer, IDisposable
type OpenXmlPackage = class
    inherit OpenXmlPartContainer
    interface IDisposable
Public MustInherit Class OpenXmlPackage
Inherits OpenXmlPartContainer
Implements IDisposable
Inheritance
OpenXmlPackage
Derived
Implements

Constructors

OpenXmlPackage()
Obsolete.
Obsolete.

Initializes a new instance of the OpenXmlPackage class.

Properties

AutoSave

Gets a value indicating whether the parts should be saved when disposed.

CanSave

Gets a value indicating whether saving the package is supported by calling Save(). Some platforms (such as .NET Core), have limited support for saving. If false, in order to save, the document and/or package needs to be fully closed and disposed and then reopened.

CompressionOption

Gets or sets the compression level for the content of the new part

DataPartReferenceRelationships

Gets all DataPartReferenceRelationship relationships.

(Inherited from OpenXmlPartContainer)
DataParts

Gets all the DataPart parts in the document package.

ExternalRelationships

Gets all external relationships. Hyperlink relationships are not included, use HyperlinkRelationship property to enumerate hyperlink relationships.

(Inherited from OpenXmlPartContainer)
Features

Gets the features associated with this part.

Features

Gets the features associated with this part.

(Inherited from OpenXmlPartContainer)
FileOpenAccess

Gets the FileAccess setting for the document. The current I/O access settings are: Read, Write, or ReadWrite.

HyperlinkRelationships

Gets all hyperlink relationships.

(Inherited from OpenXmlPartContainer)
MarkupCompatibilityProcessSettings

Gets the markup compatibility settings applied at loading time.

MaxCharactersInPart

Gets a value that indicates the maximum allowable number of characters in an Open XML part. A zero (0) value indicates that there are no limits on the size of the part. A non-zero value specifies the maximum size, in characters.

Package
Obsolete.

Gets the package of the document.

PackageProperties

Gets the package properties.

PartExtensionProvider

Gets a PartExtensionProvider part which provides a mapping from ContentType to part extension.

Parts

Gets all parts which are relationship targets of this part.

(Inherited from OpenXmlPartContainer)
RootPart

Gets the root part for the package.

StrictRelationshipFound

Gets a value indicating whether this package contains Transitional relationships converted from Strict.

Methods

AddAnnotation(Object)

Adds an object to the annotation list of this PartContainer.

(Inherited from OpenXmlPartContainer)
AddExtendedPart(String, String, String, String)

Adds an extended part ( Application specific part ).

(Inherited from OpenXmlPartContainer)
AddExtendedPart(String, String, String)

Adds an extended part ( Application specific part ).

(Inherited from OpenXmlPartContainer)
AddExternalRelationship(String, Uri, String)

Adds an external relationship. Do not add hyperlink relationships through this method. Use AddHyperlinkRelationship() instead.

(Inherited from OpenXmlPartContainer)
AddExternalRelationship(String, Uri)

Adds an external relationship. Do not add hyperlink relationships through this method. Use AddHyperlinkRelationship() instead.

(Inherited from OpenXmlPartContainer)
AddHyperlinkRelationship(Uri, Boolean, String)

Adds a new hyperlink relationship.

(Inherited from OpenXmlPartContainer)
AddHyperlinkRelationship(Uri, Boolean)

Adds a new hyperlink relationship.

(Inherited from OpenXmlPartContainer)
AddNewPart<T>()

Adds a new part of type T.

(Inherited from OpenXmlPartContainer)
AddNewPart<T>(String, String)

Adds a new part of type T.

(Inherited from OpenXmlPartContainer)
AddNewPart<T>(String)

Adds a new part of type T.

(Inherited from OpenXmlPartContainer)
AddPart<T>(T, String)

Adds the part to the document with a given relationship identifier (ID). Must use the returned part to operate on the part added to the document

(Inherited from OpenXmlPartContainer)
AddPart<T>(T)

Adds the specified part to the document. Use the returned part to operate on the part added to the document.

Annotation(Type)

Get the first annotation object of the specified type from this PartContainer.

(Inherited from OpenXmlPartContainer)
Annotation<T>()

Get the first annotation object of the specified type from this PartContainer.

(Inherited from OpenXmlPartContainer)
Annotations(Type)

Gets a collection of annotations of the specified type for this PartContainer.

(Inherited from OpenXmlPartContainer)
Annotations<T>()

Gets a collection of annotations of the specified type for this PartContainer.

(Inherited from OpenXmlPartContainer)
ChangeIdOfPart(OpenXmlPart, String)

Changes the relationship ID of the part.

(Inherited from OpenXmlPartContainer)
Clone()

Creates an editable clone of this OpenXml package, opened on a MemoryStream with expandable capacity and using default OpenSettings.

Clone(Package, OpenSettings)

Creates a clone of this OpenXml package, opened on the specified instance of Package.

Clone(Package)

Creates a clone of this OpenXml package, opened on the specified instance of Package. The clone will be opened with the same OpenSettings as this OpenXml package.

Clone(Stream, Boolean, OpenSettings)

Creates a clone of this OpenXml package, opened on the given stream.

Clone(Stream, Boolean)

Creates a clone of this OpenXml package, opened on the given stream. The cloned OpenXml package is opened with the same OpenSettings as this OpenXml package.

Clone(Stream)

Creates a clone of this OpenXml package, opened on the given stream. The cloned OpenXml package is opened with the same settings, i.e., FileOpenAccess and OpenSettings, as this OpenXml package.

Clone(String, Boolean, OpenSettings)

Creates a clone of this OpenXml package opened from the given file (which will be created by cloning this OpenXml package).

Clone(String, Boolean)

Creates a clone of this OpenXml package opened from the given file (which will be created by cloning this OpenXml package). The cloned OpenXml package is opened with the same OpenSettings as this OpenXml package.

Clone(String)

Creates a clone of this OpenXml package opened from the given file (which will be created by cloning this OpenXml package). The cloned OpenXml package is opened with the same settings, i.e., FileOpenAccess and OpenSettings, as this OpenXml package.

Close()
Obsolete.

Saves and closes the OpenXml package and all underlying part streams.

CreateClone(Package)

Creates a new instance of OpenXmlPackage on the specified instance of Package.

CreateClone(Stream)

Creates a new OpenXmlPackage on the given stream.

CreateClone(String)

Creates a new OpenXml package on the given file.

CreateMediaDataPart(MediaDataPartType)

Creates a new MediaDataPart part in the document package.

CreateMediaDataPart(String, String)

Creates a new MediaDataPart part in the document package.

CreateMediaDataPart(String)

Creates a new MediaDataPart part in the document package.

CreateRelationshipToPart(OpenXmlPart, String)

Adds a relationship for the specified part to this part.

(Inherited from OpenXmlPartContainer)
CreateRelationshipToPart(OpenXmlPart)

Adds a relationship for the specified part to this part.

(Inherited from OpenXmlPartContainer)
DeleteExternalRelationship(ExternalRelationship)

Deletes the specified external relationship.

(Inherited from OpenXmlPartContainer)
DeleteExternalRelationship(String)

Deletes the specified ExternalRelationship.

(Inherited from OpenXmlPartContainer)
DeletePart(DataPart)

Deletes the specified DataPart from the document package.

DeletePart(OpenXmlPart)

Deletes a specified part in the package root layer.

(Inherited from OpenXmlPartContainer)
DeletePart(String)

Deletes the specified child part from this part.

(Inherited from OpenXmlPartContainer)
DeleteParts<T>(IEnumerable<T>)

Deletes all the parts which are in the passed in collection from the document.

(Inherited from OpenXmlPartContainer)
DeletePartsRecursivelyOfType<T>()

Deletes all the parts with the specified part type from the package recursively.

DeleteReferenceRelationship(ReferenceRelationship)

Deletes the specified reference relationship.

(Inherited from OpenXmlPartContainer)
DeleteReferenceRelationship(String)

Deletes the specified reference relationship.

(Inherited from OpenXmlPartContainer)
Dispose()

Flushes and saves the content, closes the document, and releases all resources.

Dispose(Boolean)

Flushes and saves the content, closes the document, and releases all resources.

FromFlatOpcDocumentCore(XDocument, Package)

Converts an XDocument in Flat OPC format to an OpenXml package stored in a Package.

FromFlatOpcDocumentCore(XDocument, Stream)

Converts an XDocument in Flat OPC format to an OpenXml package stored on a Stream.

FromFlatOpcDocumentCore(XDocument, String)

Converts an XDocument in Flat OPC format to an OpenXml package stored in a file.

GetExternalRelationship(String)

Gets the specified ExternalRelationship.

(Inherited from OpenXmlPartContainer)
GetIdOfPart(OpenXmlPart)

Gets the relationship ID of the part.

(Inherited from OpenXmlPartContainer)
GetPartById(String)

Gets the child part through the relationship ID.

(Inherited from OpenXmlPartContainer)
GetPartsCountOfType<T>()
Obsolete.

Gets the count of all parts of type T.

(Inherited from OpenXmlPartContainer)
GetPartsOfType<T>()

Enumerates all the children parts of the specified type T of this part.

(Inherited from OpenXmlPartContainer)
GetPartsOfType<T>(ICollection<T>)
Obsolete.

Gets all the children parts of the specified type T into partCollection of this part.

(Inherited from OpenXmlPartContainer)
GetReferenceRelationship(String)

Gets the specified ReferenceRelationship.

(Inherited from OpenXmlPartContainer)
OpenClone(Stream, Boolean, OpenSettings)

Opens the cloned OpenXml package on the given stream.

OpenClone(String, Boolean, OpenSettings)

Opens the cloned OpenXml package on the given file.

RemoveAnnotations(Type)

Removes the annotations of the specified type from this PartContainer.

(Inherited from OpenXmlPartContainer)
RemoveAnnotations<T>()

Removes the annotations of the specified type from this PartContainer.

(Inherited from OpenXmlPartContainer)
Save()

Saves the contents of all parts and relationships that are contained in the OpenXml package, if FileOpenAccess is ReadWrite. Some platforms do not support saving due to limitations in Package, so please query CanSave at runtime to know if full saving will be supported without closing and disposing of the OpenXmlPackage.

SaveAs(String)
Obsolete.

Saves the contents of all parts and relationships that are contained in the OpenXml package to the specified file. Opens the saved document using the same settings that were used to open this OpenXml package.

ThrowIfObjectDisposed()

Thrown if an object is disposed.

ToFlatOpcDocument()

Converts an OpenXml package in OPC format to an XDocument in Flat OPC format.

ToFlatOpcDocument(XProcessingInstruction)

Converts an OpenXml package in OPC format to an XDocument in Flat OPC format.

ToFlatOpcString()

Converts an OpenXml package in OPC format to string in Flat OPC format.

TryGetPartById(String, OpenXmlPart)

Try to get the child part by the relationship ID.

(Inherited from OpenXmlPartContainer)
Validate(OpenXmlPackageValidationSettings)
Obsolete.

Validates the package. This method does not validate the XML content in each part.

Extension Methods

GetPackage(OpenXmlPackage)

Gets the current IPackage for the package.

AddDisposableFeature(OpenXmlPackage)
AddPackageEventsFeature(OpenXmlPackage)

Adds a feature to track eventing for a package lifecycle events.

AddPartEventsFeature(OpenXmlPackage)

Adds a feature to track eventing for a package creating or removing parts.

AddPartRootEventsFeature(OpenXmlPartContainer)

Adds a feature to track eventing for package life cycle events.

AddRandomNumberGeneratorFeature(OpenXmlPackage)

Add a random number generator to the package.

CreateUnknownElement(OpenXmlPartContainer, String)

Creates a new OpenXmlUnknownElement class by using the outer XML.

ToFlatOpcDocument(OpenXmlPackage)

Converts an OpenXml package in OPC format to an XDocument in Flat OPC format.

ToFlatOpcString(OpenXmlPackage)

Converts an OpenXml package in OPC format to string in Flat OPC format.

GetAllParts(OpenXmlPackage)

Traverse parts in the OpenXmlPackage by breadth-first.

Applies to