Workbook Class

Definition

Workbook.

This class is available in Office 2007 and above.

When the object is serialized out as xml, it's qualified name is x:workbook.

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(22, "workbook")]
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
[DocumentFormat.OpenXml.SchemaAttr(22, "workbook")]
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
[DocumentFormat.OpenXml.SchemaAttr("x:workbook")]
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
[DocumentFormat.OpenXml.SchemaAttr("x:workbook")]
public class Workbook : DocumentFormat.OpenXml.TypedOpenXmlPartRootElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))]
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class Workbook : DocumentFormat.OpenXml.OpenXmlPartRootElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(22, "workbook")>]
type Workbook = class
    inherit OpenXmlPartRootElement
type Workbook = class
    inherit OpenXmlPartRootElement
[<DocumentFormat.OpenXml.SchemaAttr(22, "workbook")>]
type Workbook = class
    inherit OpenXmlPartRootElement
[<DocumentFormat.OpenXml.SchemaAttr("x:workbook")>]
type Workbook = class
    inherit OpenXmlPartRootElement
[<DocumentFormat.OpenXml.SchemaAttr("x:workbook")>]
type Workbook = class
    inherit TypedOpenXmlPartRootElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))>]
type Workbook = class
    inherit OpenXmlPartRootElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileVersion))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileSharing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Office2013.ExcelAc.AbsolutePath), DocumentFormat.OpenXml.FileFormatVersions.Office2013)>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookProtection))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.BookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.Sheets))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FunctionGroups))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.ExternalReferences))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.DefinedNames))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CalculationProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.OleSize))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.CustomWorkbookViews))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.PivotCaches))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishing))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.FileRecoveryProperties))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WebPublishObjects))>]
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.WorkbookExtensionList))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type Workbook = class
    inherit OpenXmlPartRootElement
Public Class Workbook
Inherits OpenXmlPartRootElement
Public Class Workbook
Inherits TypedOpenXmlPartRootElement
Inheritance
Inheritance
Attributes

Examples

The following code example opens an existing spreadsheet document and adds a new worksheet, named "mySheet," and associates it with the workbook.

using System;  
using System.Linq;  
using DocumentFormat.OpenXml.Packaging;  
using DocumentFormat.OpenXml.Spreadsheet;  

namespace WorkbookEx  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            string fileName = @"C:\Users\Public\Documents\WorkbookEx.xlsx";  
            // Open an existing spreadsheet document for editing.  
            using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(fileName, true))  
            {  
                // Add a blank WorksheetPart.  
                WorksheetPart newWorksheetPart = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();  
                newWorksheetPart.Worksheet = new Worksheet(new SheetData());  

                // Create a Sheets object in the Workbook.  
                Sheets sheets = spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>();  
                string relationshipId = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart);  

                // Create a unique ID for the new worksheet.  
                uint sheetId = 1;  
                if (sheets.Elements<Sheet>().Count() > 0)  
                {  
                    sheetId = sheets.Elements<Sheet>().Select(s => s.SheetId.Value).Max() + 1;  
                }  

                // Give the new worksheet a name.  
                string sheetName = "mySheet" + sheetId;  

                // Append the new worksheet and associate it with the workbook.  
                Sheet sheet = new Sheet() { Id = relationshipId, SheetId = sheetId, Name = sheetName };  
                sheets.Append(sheet);  
            }  
            Console.WriteLine("All done. Press a key.");  
            Console.ReadKey();  
        }  
    }  
}  
Imports System.Linq  
Imports DocumentFormat.OpenXml.Packaging  
Imports DocumentFormat.OpenXml.Spreadsheet  
Module Module1  
    Sub Main()  
        Dim fileName As String = "C:\Users\Public\Documents\WorkbookEx.xlsx"  
        ' Open an existing spreadsheet document for editing.  
        Dim spreadSheet As SpreadsheetDocument = SpreadsheetDocument.Open(fileName, True)  
        Using (spreadSheet)  
            ' Add a blank WorksheetPart.  
            Dim newWorksheetPart As WorksheetPart = spreadSheet.WorkbookPart.AddNewPart(Of WorksheetPart)()  
            newWorksheetPart.Worksheet = New Worksheet(New SheetData())  

            ' Create a Sheets object.  
            Dim sheets As Sheets = spreadSheet.WorkbookPart.Workbook.GetFirstChild(Of Sheets)()  
            Dim relationshipId As String = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart)  

            ' Get a unique ID for the new worksheet.  
            Dim sheetId As UInteger = 1  
            If (sheets.Elements(Of Sheet).Count > 0) Then  
                sheetId = sheets.Elements(Of Sheet).Select(Function(s) s.SheetId.Value).Max + 1  
            End If  

            ' Give the new worksheet a name.  
            Dim sheetName As String = ("mySheet" + sheetId.ToString())  

            ' Append the new worksheet and associate it with the workbook.  
            Dim sheet As Sheet = New Sheet  
            sheet.Id = relationshipId  
            sheet.SheetId = sheetId  
            sheet.Name = sheetName  
            sheets.Append(sheet)  
        End Using  
        Console.WriteLine("All done. Press a key.")  
        Console.ReadKey()  
    End Sub  
End Module  

Remarks

[ISO/IEC 29500-1 1st Edition]

workbook (Workbook)

The workbook element is the top level element. It contains elements and attributes that encompass the data content of the workbook. The workbook's child elements each have their own subclause references, and these are shown in the child elements table below. A partial list of the workbook's structures that these elements represent are:

  • Sheets: represents the collection of worksheets in the workbook. The sheets are the central structure within a workbook, and contain the text, numbers, dates, formulas, and other elements of a workbook.

  • Views: SpreadsheetML defines a collection of Workbook views that define basic window dimensions and position of the workbook if it is ever displayed by a spreadsheet application. It also defines a collection of Custom Workbook Views that allows SpreadsheetML to describe one or more views of the data within a workbook.

  • Properties: the workbook has several property collection that store basic workbook settings, such as the date system to use, file protection settings, calculation settings, and smart tag behaviors.

  • Names: words or strings of characters that represent cells, ranges of cells, formulas, or constant values.

[Example:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/5/main" mlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">  
  <fileVersion lastEdited="4" lowestEdited="4" rupBuild="4017"/>  
  <workbookPr dateCompatibility="false" vbName="ThisWorkbook" defaultThemeVersion="123820"/>  
  <bookViews>  
    <workbookView xWindow="120" yWindow="45" windowWidth="15135"      windowHeight="7650" activeTab="4"/>  
  </bookViews>  
  <sheets>  
    <sheet name="Sheet1" sheetId="1" r:id="rId1"/>  
    <sheet name="Sheet2" sheetId="2" r:id="rId2"/>  
    <sheet name="Sheet5" sheetId="3" r:id="rId3"/>  
    <sheet name="Chart1" sheetId="4" type="chartsheet" r:id="rId4"/>  
  </sheets>  
  <definedNames>  
    <definedName name="MyDefinedName">Sheet3!$A$1:$C$12</definedName>  
  </definedNames>  
  <calcPr calcId="122211" calcMode="autoNoTable" refMode="R1C1" iterate="1"    fullPrecision="0"/>  
  <customWorkbookViews>  
    <customWorkbookView name="CustomView1"       guid="{CE6681F1-E999-414D-8446-68A031534B57}" maximized="1" xWindow="1"       yWindow="1" windowWidth="1024" windowHeight="547" activeSheetId="1"/>  
  </customWorkbookViews>  
  <pivotCaches>  
    <pivotCache cacheId="0" r:id="rId8"/>  
  </pivotCaches>  
  <smartTagPr embed="1" show="noIndicator"/>  
  <smartTagTypes>  
    <smartTagType namespaceUri="urn:schemas-openxmlformats-org:office:smarttags"       name="date"/>  
  </smartTagTypes>  
  <webPublishing codePage="1252"/>  
</workbook>  

end example]

Parent Elements
Root element of SpreadsheetML Workbook part
Child Elements Subclause
bookViews (Workbook Views) §18.2.1
calcPr (Calculation Properties) §18.2.2
customWorkbookViews (Custom Workbook Views) §18.2.4
definedNames (Defined Names) §18.2.6
externalReferences (External References) §18.2.9
extLst (Future Feature Data Storage Area) §18.2.10
fileRecoveryPr (File Recovery Properties) §18.2.11
fileSharing (File Sharing) §18.2.12
fileVersion (File Version) §18.2.13
functionGroups (Function Groups) §18.2.15
oleSize (Embedded Object Size) §18.2.16
pivotCaches (PivotCaches) §18.2.18
sheets (Sheets) §18.2.20
smartTagPr (Smart Tag Properties) §18.2.21
smartTagTypes (Smart Tag Types) §18.2.23
webPublishing (Web Publishing Properties) §18.2.24
webPublishObjects (Web Publish Objects) §18.2.26
workbookPr (Workbook Properties) §18.2.28
workbookProtection (Workbook Protection) §18.2.29

[Note: The W3C XML Schema definition of this element’s content model (CT_Workbook) is located in §A.2. end note]

� ISO/IEC29500: 2008.

Constructors

Workbook()

Initializes a new instance of the Workbook class.

Workbook(IEnumerable<OpenXmlElement>)

Initializes a new instance of the Workbook class with the specified child elements.

Workbook(OpenXmlElement[])

Initializes a new instance of the Workbook class with the specified child elements.

Workbook(String)

Initializes a new instance of the Workbook class from outer XML.

Properties

AbsolutePath

AbsolutePath, this property is only available in Office 2013 and later..

Represents the following element tag in the schema: x15ac:absPath.

BookViews

BookViews.

Represents the following element tag in the schema: x:bookViews.

CalculationProperties

CalculationProperties.

Represents the following element tag in the schema: x:calcPr.

ChildElements

Gets all the child nodes of the current element.

(Inherited from OpenXmlElement)
Conformance

conformance

Represents the following attribute in the schema: conformance

CustomWorkbookViews

CustomWorkbookViews.

Represents the following element tag in the schema: x:customWorkbookViews.

DefinedNames

DefinedNames.

Represents the following element tag in the schema: x:definedNames.

ExtendedAttributes

Gets all extended attributes (attributes not defined in the schema) of the current element.

(Inherited from OpenXmlElement)
ExternalReferences

ExternalReferences.

Represents the following element tag in the schema: x:externalReferences.

Features

Gets a IFeatureCollection for the current element. This feature collection will be read-only, but will inherit features from its parent part and package if available.

(Inherited from OpenXmlElement)
FileSharing

FileSharing.

Represents the following element tag in the schema: x:fileSharing.

FileVersion

FileVersion.

Represents the following element tag in the schema: x:fileVersion.

FirstChild

Gets the first child of the current OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
FunctionGroups

FunctionGroups.

Represents the following element tag in the schema: x:functionGroups.

HasAttributes

Gets a value indicating whether the current element has any attributes.

(Inherited from OpenXmlElement)
HasChildren

Gets a value that indicates whether the current element has any child elements.

(Inherited from OpenXmlCompositeElement)
InnerText

Gets or sets the concatenated values of the current node and all of its children.

(Inherited from OpenXmlCompositeElement)
InnerXml

Gets or sets the markup that represents only the child nodes of the current node.

(Inherited from OpenXmlCompositeElement)
LastChild

Gets the last child of the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
LocalName
LocalName

Gets the local name of the current element.

(Inherited from OpenXmlElement)
MCAttributes

Gets or sets the markup compatibility attributes. Returns null if no markup compatibility attributes are defined for the current element.

(Inherited from OpenXmlElement)
NamespaceDeclarations

Gets all the namespace declarations defined in the current element. Returns an empty enumerator if there is no namespace declaration.

(Inherited from OpenXmlElement)
NamespaceUri

Gets the namespace URI of the current element.

(Inherited from OpenXmlElement)
OleSize

OleSize.

Represents the following element tag in the schema: x:oleSize.

OpenXmlElementContext

Gets the OpenXmlElementContext of the current element.

(Inherited from OpenXmlElement)
OpenXmlPart

Gets the part that is associated with the DOM tree. It returns null when the DOM tree is not associated with a part.

(Inherited from OpenXmlPartRootElement)
OuterXml

Gets the markup that represents the current element and all of its child elements.

(Inherited from OpenXmlElement)
Parent

Gets the parent element of the current element.

(Inherited from OpenXmlElement)
PivotCaches

PivotCaches.

Represents the following element tag in the schema: x:pivotCaches.

Prefix

Gets the namespace prefix of current element.

(Inherited from OpenXmlElement)
Sheets

Sheets.

Represents the following element tag in the schema: x:sheets.

WebPublishing

WebPublishing.

Represents the following element tag in the schema: x:webPublishing.

WorkbookPart

Gets the WorkbookPart associated with this element.

WorkbookProperties

WorkbookProperties.

Represents the following element tag in the schema: x:workbookPr.

WorkbookProtection

WorkbookProtection.

Represents the following element tag in the schema: x:workbookProtection.

XmlQualifiedName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)
XName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)

Methods

AddAnnotation(Object)

Adds an object to the current OpenXmlElement element's list of annotations.

(Inherited from OpenXmlElement)
AddChild(OpenXmlElement, Boolean)

Adds the specified element to the element if it is a known child. This adds the element in the correct location according to the schema.

(Inherited from OpenXmlCompositeElement)
AddNamespaceDeclaration(String, String)

Adds a namespace declaration to the current node.

(Inherited from OpenXmlElement)
Ancestors()

Enumerates all of the current element's ancestors.

(Inherited from OpenXmlElement)
Ancestors<T>()

Enumerates only the current element's ancestors that have the specified type.

(Inherited from OpenXmlElement)
Annotation(Type)

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotation<T>()

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations(Type)

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations<T>()

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Append(IEnumerable<OpenXmlElement>)

Appends each element from a list of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
Append(OpenXmlElement[])

Appends each element from an array of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
AppendChild<T>(T)

Appends the specified element to the end of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
ClearAllAttributes()

Clears all of the attributes, including both known attributes and extended attributes.

(Inherited from OpenXmlElement)
Clone()

Creates a duplicate of the current node.

(Inherited from OpenXmlElement)
CloneNode(Boolean)

Creates a duplicate of this node.

Descendants()

Enumerates all of the current element's descendants.

(Inherited from OpenXmlElement)
Descendants<T>()

Enumerate all of the current element's descendants of type T.

(Inherited from OpenXmlElement)
Elements()

Enumerates all of the current element's children.

(Inherited from OpenXmlElement)
Elements<T>()

Enumerates only the current element's children that have the specified type.

(Inherited from OpenXmlElement)
ElementsAfter()

Enumerates all of the sibling elements that follow the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
ElementsBefore()

Enumerates all of the sibling elements that precede the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
GetAttribute(String, String)

Gets an Open XML attribute with the specified tag name and namespace URI.

(Inherited from OpenXmlElement)
GetAttributes()

Gets a list that contains a copy of all the attributes.

(Inherited from OpenXmlElement)
GetEnumerator()

Returns an enumerator that iterates through the child collection.

(Inherited from OpenXmlElement)
GetFirstChild<T>()

Finds the first child element in type T.

(Inherited from OpenXmlElement)
InsertAfter<T>(T, OpenXmlElement)

Inserts the specified element immediately after the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertAfterSelf<T>(T)

Inserts the specified element immediately after the current element.

(Inherited from OpenXmlElement)
InsertAt<T>(T, Int32)

Inserts the specified element at the specified index of the current element's children.

(Inherited from OpenXmlCompositeElement)
InsertBefore<T>(T, OpenXmlElement)

Inserts the specified element immediately before the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertBeforeSelf<T>(T)

Inserts the specified element immediately before the current element.

(Inherited from OpenXmlElement)
IsAfter(OpenXmlElement)

Determines if the current element appears after a specified element in document order.

(Inherited from OpenXmlElement)
IsBefore(OpenXmlElement)

Determines if the current element appears before a specified element in document order.

(Inherited from OpenXmlElement)
Load(WorkbookPart)

Loads the DOM from the WorkbookPart

LookupNamespace(String)

Resolves the namespace prefix in the context of the current node.

(Inherited from OpenXmlElement)
LookupPrefix(String)

Finds the corresponding prefix for a namespace uri in the current element scope.

(Inherited from OpenXmlElement)
NextSibling()

Gets the OpenXmlElement element that immediately follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement element.

(Inherited from OpenXmlElement)
NextSibling<T>()

Gets the OpenXmlElement element with the specified type that follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement.

(Inherited from OpenXmlElement)
PrependChild<T>(T)

Inserts the specified element at the beginning of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
PreviousSibling()

Gets the OpenXmlElement element that immediately precedes the current OpenXmlElement element. Returns null (Nothing in Visual Basic ) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
PreviousSibling<T>()

Gets the OpenXmlElement element with the specified type that precedes the current OpenXmlElement. Returns null (Nothing in Visual Basic) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
Reload()

Reloads the part content into an Open XML DOM tree. This method can be called multiple times and each time it is called, the tree will be reloaded and previous changes on the tree are abandoned.

(Inherited from OpenXmlPartRootElement)
Remove()

Removes the current element from its parent.

(Inherited from OpenXmlElement)
RemoveAllChildren()

Removes all of the current element's child elements.

(Inherited from OpenXmlCompositeElement)
RemoveAllChildren<T>()

Remove all of the current element's child elements that are of type T.

(Inherited from OpenXmlElement)
RemoveAnnotations(Type)

Removes the annotations of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAnnotations<T>()

Removes the annotations with the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAttribute(String, String)

Removes the attribute from the current element.

(Inherited from OpenXmlElement)
RemoveChild<T>(T)

Removes the specified child element.

(Inherited from OpenXmlCompositeElement)
RemoveNamespaceDeclaration(String)

Removes the namespace declaration for the specified prefix. Removes nothing if there is no prefix.

(Inherited from OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T)

Replaces one of the current element's child elements with another OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
Save()

Saves the data in the DOM tree back to the part. This method can be called multiple times and each time it is called, the stream will be flushed.

(Inherited from OpenXmlPartRootElement)
Save(Stream)

Saves the DOM tree to the specified stream.

(Inherited from OpenXmlPartRootElement)
Save(WorkbookPart)

Saves the DOM into the WorkbookPart.

SetAttribute(OpenXmlAttribute)

Sets an attribute to the specified element. If the attribute is a known attribute, the value of the attribute is set. If the attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>)

Sets a number of attributes to the element. If an attribute is a known attribute, the value of the attribute is set. If an attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
WriteTo(XmlWriter)

Saves the current node to the specified XmlWriter.

(Inherited from OpenXmlPartRootElement)

Explicit Interface Implementations

IEnumerable.GetEnumerator() (Inherited from OpenXmlElement)
IEnumerable<OpenXmlElement>.GetEnumerator()

Returns an enumerator that iterates through the child collection.

(Inherited from OpenXmlElement)

Applies to