Worksheet Class
Worksheet. It is the root element of WorksheetPart.When the object is serialized out as xml, its qualified name is x:worksheet.
Inheritance Hierarchy
System.Object
DocumentFormat.OpenXml.OpenXmlElement
DocumentFormat.OpenXml.OpenXmlCompositeElement
DocumentFormat.OpenXml.OpenXmlPartRootElement
DocumentFormat.OpenXml.Spreadsheet.Worksheet
Namespace: DocumentFormat.OpenXml.Spreadsheet
Assembly: DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)
Syntax
'Declaration
<ChildElementInfoAttribute(GetType(WorksheetExtensionList))> _
<ChildElementInfoAttribute(GetType(Hyperlinks))> _
<ChildElementInfoAttribute(GetType(TableParts))> _
<ChildElementInfoAttribute(GetType(SheetDimension))> _
<ChildElementInfoAttribute(GetType(SheetViews))> _
<ChildElementInfoAttribute(GetType(SheetFormatProperties))> _
<ChildElementInfoAttribute(GetType(Columns))> _
<ChildElementInfoAttribute(GetType(SheetData))> _
<ChildElementInfoAttribute(GetType(SheetCalculationProperties))> _
<ChildElementInfoAttribute(GetType(SheetProtection))> _
<ChildElementInfoAttribute(GetType(ProtectedRanges))> _
<ChildElementInfoAttribute(GetType(Scenarios))> _
<ChildElementInfoAttribute(GetType(AutoFilter))> _
<ChildElementInfoAttribute(GetType(SortState))> _
<ChildElementInfoAttribute(GetType(DataConsolidate))> _
<ChildElementInfoAttribute(GetType(CustomSheetViews))> _
<ChildElementInfoAttribute(GetType(MergeCells))> _
<ChildElementInfoAttribute(GetType(PhoneticProperties))> _
<ChildElementInfoAttribute(GetType(ConditionalFormatting))> _
<ChildElementInfoAttribute(GetType(DataValidations))> _
<ChildElementInfoAttribute(GetType(SheetProperties))> _
<ChildElementInfoAttribute(GetType(PrintOptions))> _
<ChildElementInfoAttribute(GetType(PageMargins))> _
<ChildElementInfoAttribute(GetType(PageSetup))> _
<ChildElementInfoAttribute(GetType(HeaderFooter))> _
<ChildElementInfoAttribute(GetType(RowBreaks))> _
<ChildElementInfoAttribute(GetType(ColumnBreaks))> _
<ChildElementInfoAttribute(GetType(CustomProperties))> _
<ChildElementInfoAttribute(GetType(CellWatches))> _
<ChildElementInfoAttribute(GetType(IgnoredErrors))> _
<ChildElementInfoAttribute(GetType(SmartTags))> _
<ChildElementInfoAttribute(GetType(Drawing))> _
<ChildElementInfoAttribute(GetType(LegacyDrawing))> _
<ChildElementInfoAttribute(GetType(LegacyDrawingHeaderFooter))> _
<ChildElementInfoAttribute(GetType(DrawingHeaderFooter), FileFormatVersions.Office2010)> _
<ChildElementInfoAttribute(GetType(Picture))> _
<ChildElementInfoAttribute(GetType(OleObjects))> _
<ChildElementInfoAttribute(GetType(Controls))> _
<ChildElementInfoAttribute(GetType(WebPublishItems))> _
Public Class Worksheet _
Inherits OpenXmlPartRootElement
'Usage
Dim instance As Worksheet
[ChildElementInfoAttribute(typeof(WorksheetExtensionList))]
[ChildElementInfoAttribute(typeof(Hyperlinks))]
[ChildElementInfoAttribute(typeof(TableParts))]
[ChildElementInfoAttribute(typeof(SheetDimension))]
[ChildElementInfoAttribute(typeof(SheetViews))]
[ChildElementInfoAttribute(typeof(SheetFormatProperties))]
[ChildElementInfoAttribute(typeof(Columns))]
[ChildElementInfoAttribute(typeof(SheetData))]
[ChildElementInfoAttribute(typeof(SheetCalculationProperties))]
[ChildElementInfoAttribute(typeof(SheetProtection))]
[ChildElementInfoAttribute(typeof(ProtectedRanges))]
[ChildElementInfoAttribute(typeof(Scenarios))]
[ChildElementInfoAttribute(typeof(AutoFilter))]
[ChildElementInfoAttribute(typeof(SortState))]
[ChildElementInfoAttribute(typeof(DataConsolidate))]
[ChildElementInfoAttribute(typeof(CustomSheetViews))]
[ChildElementInfoAttribute(typeof(MergeCells))]
[ChildElementInfoAttribute(typeof(PhoneticProperties))]
[ChildElementInfoAttribute(typeof(ConditionalFormatting))]
[ChildElementInfoAttribute(typeof(DataValidations))]
[ChildElementInfoAttribute(typeof(SheetProperties))]
[ChildElementInfoAttribute(typeof(PrintOptions))]
[ChildElementInfoAttribute(typeof(PageMargins))]
[ChildElementInfoAttribute(typeof(PageSetup))]
[ChildElementInfoAttribute(typeof(HeaderFooter))]
[ChildElementInfoAttribute(typeof(RowBreaks))]
[ChildElementInfoAttribute(typeof(ColumnBreaks))]
[ChildElementInfoAttribute(typeof(CustomProperties))]
[ChildElementInfoAttribute(typeof(CellWatches))]
[ChildElementInfoAttribute(typeof(IgnoredErrors))]
[ChildElementInfoAttribute(typeof(SmartTags))]
[ChildElementInfoAttribute(typeof(Drawing))]
[ChildElementInfoAttribute(typeof(LegacyDrawing))]
[ChildElementInfoAttribute(typeof(LegacyDrawingHeaderFooter))]
[ChildElementInfoAttribute(typeof(DrawingHeaderFooter), FileFormatVersions.Office2010)]
[ChildElementInfoAttribute(typeof(Picture))]
[ChildElementInfoAttribute(typeof(OleObjects))]
[ChildElementInfoAttribute(typeof(Controls))]
[ChildElementInfoAttribute(typeof(WebPublishItems))]
public class Worksheet : OpenXmlPartRootElement
Remarks
The following table lists the possible child types:
SheetProperties <x:sheetPr>
SheetDimension <x:dimension>
SheetViews <x:sheetViews>
SheetFormatProperties <x:sheetFormatPr>
Columns <x:cols>
SheetData <x:sheetData>
SheetCalculationProperties <x:sheetCalcPr>
SheetProtection <x:sheetProtection>
ProtectedRanges <x:protectedRanges>
Scenarios <x:scenarios>
AutoFilter <x:autoFilter>
SortState <x:sortState>
DataConsolidate <x:dataConsolidate>
CustomSheetViews <x:customSheetViews>
MergeCells <x:mergeCells>
PhoneticProperties <x:phoneticPr>
ConditionalFormatting <x:conditionalFormatting>
DataValidations <x:dataValidations>
Hyperlinks <x:hyperlinks>
PrintOptions <x:printOptions>
PageMargins <x:pageMargins>
PageSetup <x:pageSetup>
HeaderFooter <x:headerFooter>
RowBreaks <x:rowBreaks>
ColumnBreaks <x:colBreaks>
CustomProperties <x:customProperties>
CellWatches <x:cellWatches>
IgnoredErrors <x:ignoredErrors>
SmartTags <x:smartTags>
Drawing <x:drawing>
LegacyDrawing <x:legacyDrawing>
LegacyDrawingHeaderFooter <x:legacyDrawingHF>
DrawingHeaderFooter <x:drawingHF>
Picture <x:picture>
OleObjects <x:oleObjects>
Controls <x:controls>
WebPublishItems <x:webPublishItems>
TableParts <x:tableParts>
WorksheetExtensionList <x:extLst>
[ISO/IEC 29500-1 1st Edition]
18.3.1.99 worksheet (Worksheet)
This is the root element of Worksheet parts within a SpreadsheetML document.
Parent Elements |
---|
Root element of SpreadsheetML Worksheet part |
Child Elements |
Subclause |
---|---|
autoFilter (AutoFilter Settings) |
§18.3.1.2 |
cellWatches (Cell Watch Items) |
§18.3.1.9 |
colBreaks (Vertical Page Breaks) |
§18.3.1.14 |
cols (Column Information) |
§18.3.1.17 |
conditionalFormatting (Conditional Formatting) |
§18.3.1.18 |
controls (Embedded Controls) |
§18.3.1.21 |
customProperties (Custom Properties) |
§18.3.1.23 |
customSheetViews (Custom Sheet Views) |
§18.3.1.27 |
dataConsolidate (Data Consolidate) |
§18.3.1.29 |
dataValidations (Data Validations) |
§18.3.1.33 |
dimension (Worksheet Dimensions) |
§18.3.1.35 |
drawing (Drawing) |
§18.3.1.36 |
drawingHF (Drawing Reference in Header Footer) |
§18.3.1.37 |
extLst (Future Feature Data Storage Area) |
§18.2.10 |
headerFooter (Header Footer Settings) |
§18.3.1.46 |
hyperlinks (Hyperlinks) |
§18.3.1.48 |
ignoredErrors (Ignored Errors) |
§18.3.1.51 |
mergeCells (Merge Cells) |
§18.3.1.55 |
oleObjects (Embedded Objects) |
§18.3.1.60 |
pageMargins (Page Margins) |
§18.3.1.62 |
pageSetup (Page Setup Settings) |
§18.3.1.63 |
phoneticPr (Phonetic Properties) |
§18.4.3 |
picture (Background Image) |
§18.3.1.67 |
printOptions (Print Options) |
§18.3.1.70 |
protectedRanges (Protected Ranges) |
§18.3.1.72 |
rowBreaks (Horizontal Page Breaks (Row)) |
§18.3.1.74 |
scenarios (Scenarios) |
§18.3.1.76 |
sheetCalcPr (Sheet Calculation Properties) |
§18.3.1.79 |
sheetData (Sheet Data) |
§18.3.1.80 |
sheetFormatPr (Sheet Format Properties) |
§18.3.1.81 |
sheetPr (Sheet Properties) |
§18.3.1.82 |
sheetProtection (Sheet Protection Options) |
§18.3.1.85 |
sheetViews (Sheet Views) |
§18.3.1.88 |
smartTags (Smart Tags) |
§18.3.1.90 |
sortState (Sort State) |
§18.3.1.92 |
tableParts (Table Parts) |
§18.3.1.95 |
webPublishItems (Web Publishing Items) |
§18.3.1.98 |
[Note: The W3C XML Schema definition of this element’s content model (CT_Worksheet) is located in §A.2. end note]
© ISO/IEC29500: 2008.
Examples
The following code example inserts a new worksheet into a spreadsheet document by providing its file name. After you run the code example, examine the test file “WorksheetEx.xlsx” and notice the new worksheet named “mySheet.”
using System;
using System.Linq;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
namespace WorkSheetEx
{
class Program
{
static void Main(string[] args)
{
string fileName = @"C:\Users\Public\Documents\WorksheetEx.xlsx";
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(fileName, true))
{
// Add a WorksheetPart.
WorksheetPart newWorksheetPart = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart.Worksheet = new Worksheet(new SheetData());
// Create Sheets object.
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.");
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\WorksheetEx.xlsx"
Dim spreadSheet As SpreadsheetDocument = SpreadsheetDocument.Open(fileName, True)
Using (spreadSheet)
' Add a 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.")
Console.ReadKey()
End Sub
End Module
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.